{"_id":"react-wai-accordion","_rev":"58-2bcef5dbf3caa9a8b399f0f0ddf01dde","name":"react-wai-accordion","dist-tags":{"next":"1.0.0-canary.2a154e34","latest":"1.0.0"},"versions":{"0.0.0-canary.2ad4b10f":{"name":"react-wai-accordion","version":"0.0.0-canary.2ad4b10f","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^11.9.0","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^13.2.0","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.8.1","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.12.1","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.3.3"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"gitHead":"2ad4b10f51b966fef621788838d4c1b9d196b57f","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.2ad4b10f","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"dist":{"integrity":"sha512-ZtKZBK2ebBj9uLXGFkrxZI1Jz7HaX59JnS8snutDe2lMGK4YxzsD4RVspdxmw0SVcP4EivAKsKElsNjAH14XJg==","shasum":"9df153d8fcdeda0f4e23872ed5f7209bfa904a16","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.2ad4b10f.tgz","fileCount":45,"unpackedSize":366315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbXyGCRA9TVsSAnZWagAAzJUP/R6YUsZcfOTMJLqWHPyy\n0RUjAHcFoDjaq/KsHKrju1StJ29HhJqvxHYUf3v2LNz0f5pfwJOMX11RCjHU\neDC8pUSjN+1gYbI34NLfBjiR3xpqpO2FMzzCF6mYyrhrEIugzog0Vdd14ss2\neJ08CX2tBjBNw25lFC8wkJnBQNzdq5b7/X+cVd64W5sexqneOoD+5qEtvlFC\njp45EQQ5MEmZOj+xkw9lUHCglx4zcbC/FEvjlKq+AN2GT5AWh7v6zVyV7zuy\nbFpeNsDxZkLr62ly85GbsxWNkLEBLBetypGY42yDV9LTk8bLxH2BsFjxFFaj\n5+dfcHU10gnNIF3HpvIrj/umgSxXDGlvGJx2+LaKGNGJBS2IMnYxX55Jztyn\n20rgdhrhuPSDmLhNry8W4UeyWvTivFAFsQNb+4B9g1YOqoQl+o90aGGPWFMh\nxff7SMlQ//h/fZ3CFOFkSobd8MoNg96tHsg0U5gN21LM6Xsvk7felqg505r0\n2zFzs1/ReCFCxSh22CIwyF3d3n3862V7E09xqv9CZZDUo+AFcvzytx1Ash+I\nFFPKA1bnLPUEFEDZXlhenCczIvbVQgjiK3mnJVp2FGfJwHLGaG19RPXZN1N0\nn+b1P6KNvcoBgsIKqPBR5jl0FhrwBFN6SF3nYaGGx7cqOAYhS/qMQlD5tCcR\nQA8C\r\n=oFNr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHh/z4E9mbNH0Pc1TxMM0Y6Bf4EPEntGFyPOsl01CCb0AiEAm5itwRyVIlIQPZ5crOakG7g2tTaRLLrETllYH2QQvak="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.2ad4b10f_1550679173577_0.6013129270452897"},"_hasShrinkwrap":false},"0.0.0-canary.42ac184c":{"name":"react-wai-accordion","version":"0.0.0-canary.42ac184c","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^11.9.0","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^13.2.0","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.8.1","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.12.1","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.3.3"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"42ac184cd35eb816b6a025b0875b3e4c18802711","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.42ac184c","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"dist":{"integrity":"sha512-TsJ4mao5bHIrDH7vDsA/HvXoJbnRm46hpak7Dlg3RtDsuxL9gEfxjWiqh7ny8VaAqSMHW/gde4xO9BMTZ9YktA==","shasum":"6ca357a70f9e22860cfcdc47297a1797c473e91a","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.42ac184c.tgz","fileCount":45,"unpackedSize":366850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj7cLCRA9TVsSAnZWagAA0dYP/2Q7iYbAZdwIaP/wxw9z\nDMeqbqe8Z/Ea8YGFNuJ7Ws/0qGKK44hwGadHi8GHUwrEMlLeop379wxr30C8\nvUks1k4kIYkp7E8cN8is6+JWk/z3JqdBH8BW8IFpQgF35/HHervAmaRkkyAi\n97uXgD34vOfSaRNeGZLr3mI0nCu28qoBdWOusy1oynm4CrbmWjGHHP9R223f\nx6gSorvk2AzDNjNF2pRK3QlVDRbiu748NvouWMQ9iuUgy+soIDBxnRmfLhNZ\n/huBIyfE+jubkixQMRcQFceh++XafpLaWajUSBp8uQuxgdHmL3RP5KFEna4H\n7biTXMsa+aZZFnDFLpIgbXzieNVA339cb8hUtYdWckH1nxR90vAXsfW/rewz\nlApEpeCZGyyQQj8LOezbJ7sSRr+6UfHTkubq8rofqzlLFbY2bkUbMwPpU4V2\n0iPC69qP3msgw+G51XFTxAmvYrfo8pJr8CGIDWva6BDQN3/Ea9EBKzrkn2qc\nVj1h3rQGxraysS8em6JKdvzjLX6xPqGm+COEl3lj7oP+VUnx150ugCzsw+HD\nihMHUfGS19RsubYNX5qCnBHELkfmc2bM4sblTbnMfF0E9vbYomgEuFaVd7wi\n6YnmksNBR1COE7OAVkuj/MUZ8zfYBuHvAURdPC3KXsFNvBvzmFnwmKbh1XEo\nhDWz\r\n=MvPm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEs3rsCQFSwF+B5ejzrzJ/D5XEzUxD5qmwuQt3DOduyWAiBY+lit15TeXp/GwjIN9CIVa2tEcoVAEkBOTmEJxwH9eA=="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.42ac184c_1552922379210_0.47231453284691627"},"_hasShrinkwrap":false},"0.0.0-canary.b1929440":{"name":"react-wai-accordion","version":"0.0.0-canary.b1929440","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^11.9.0","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^13.2.0","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.8.1","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.12.1","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.3.3"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"b192944071f993a81f567e7a0ff87346eb1f81da","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.b1929440","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-1r0aWENTBT1/zlnn2LLI+PlgBJitogp/o8ru41zN3ZeV0+GW9ej/bX05foEO1/F4P8nvPt27XuijvX6GHc57vA==","shasum":"f44e72a3263aecba57379dd51270cbe4ca41800a","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.b1929440.tgz","fileCount":44,"unpackedSize":60989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJhnRCRA9TVsSAnZWagAArCAP/iFstpRgimZAr6cicHtb\nylZBT1qV85VSdEm95Pi4XjpZAG9S0B7eYinni23OUZLVGsro73bcd3JvzaB+\ndsLeb3U4oSeMXbt5yoOpGqeexcLsBn6lUKr3x5eCDD1bVcOs3aZ1h5/NPo73\nooOXnYrj1jbWzCZuvlYi5Jh7dLP9iWhAU6iGOlw7nOQUZFyi6WHkS2264DBY\nyBsICOunPJWyTpwo5hC5l4Kpz1sureFjLR6lnFaIl7Avp/qG8SPem8UDpZxA\noIUuxsdKqaHOddYSgFEtJHhG+Hblg8KWZwFlxSua80YU9aphoIwuD5uUnwLC\n2PvjGThdHrmeSA6z8hQAqCN+jt2jfeOZGFVSNaK/vjgZ/0RJDjOVbxRardWC\n/M/TQSIkiNhlj/sBvfnxW1TQVBLpp6sUYVbP9h6Bscg+625o3BQWgFqZ1Eno\ngm6+TUqavonV5VgXNtvB7fRt9yBEgBc6zXsNKcQ8WGfm0AAsqtI7RErQKVYX\npQrV/Byfo9yRjnGav/z4chCS3HcAaW+8B1JECj6XjnHgaDtObIDaGrKe/+ks\nCOAryxgsErNsbgjg650hzzyintozyeeJiP6mk9mMCaLE0vjXw/BcVfeb77e1\na70P0hR7mVBBXyeJr2MhZCmGpduqBgISCNe2QF2CajoO/XULoM1TOwSZXkKp\nU8a9\r\n=bsCL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0OmDNWMs6Jm/bINsb7UJhNSyKmqW+kLLweoBVo/CcRQIgCL/N2dCnGRdUitZ4SDkn+T6/jRfoGxz/95VzuySx3uU="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.b1929440_1562778064803_0.834973442159064"},"_hasShrinkwrap":false},"0.0.0-canary.6dd168a6":{"name":"react-wai-accordion","version":"0.0.0-canary.6dd168a6","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^13.2.0","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.8.1","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.12.1","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.3.3"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"6dd168a6213ee4cce846d67e91727cd668fdfdbd","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.6dd168a6","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-OcdIgS/K3SIDMBbhU0mW83NSrzzaAJx7XPwVaSLnbVD9gzFOLV89dPW28Ri4TbrPcqR0TXBLCM1rhEGPivSjSw==","shasum":"f823bc12be6b39e1cb09cb80fdaaa7314d399097","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.6dd168a6.tgz","fileCount":44,"unpackedSize":60989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlSvZCRA9TVsSAnZWagAA1x0P/1oJeLTU1/ul/S5ee4mo\n4kwMzFzMN519D4wcAMMoT5kZYbrObMasHsf88a1P3LF1gBPzsQtjwko9SdZs\nfl6/8KP8IqQFI7Zmi7xXcu04wkpk2WfKhRI7P5Mk7n6U/LGPmcmoJF9INvDn\ngiMHidzbAYvtPqacVyC3afGC7dF6HINimFwYghnqgodzmuec3xpzDp6KN6Dr\nivcGnvChg/SXIwISBwSUwd+szz9JHD7FQdFHBaHO2hkag/k1HzIcJp3qA7i+\nXrUYx/6wmCGYRtQY1UpmQKeCy7F0RW6oZwr0+kb2GvhdtEUTU2yYo1E1+mt0\nDNGHWuk1EF9K7d8NdVj7ExqibpR0IVuU3oLTDatofZIOvVhYc26shyGfgBZ4\n+on8mBHXeDMn5nvAVRv4tbOZcMa8AWBxNk5ST3hyEFyLW7zEaG20WuVjoxNc\niSRpn9vDt2XY3xsFP/B5zt2RSUXyWDKbaVJP9vkBnCuGdrEdk56rvvhCnzY1\nw3tVBhKaUbsFOVfo2B1+D4qr67xog+cu0D+FK6d2VQ6fog1KY+/x/lkEZBuC\nrm93yO3vAO8TtLRpHhcE3Ufhk1Lpe9PrF+K6vVzphn7aei56CcWheaOSg/f9\nt3w2cxXqKKtis2Uj7HPGwBZspR62CXCd1RSuvY5RGWIP4rkpWyrLOKRrPhaA\nXcYu\r\n=WW29\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXudcw4OSxe2rMUp8LR5kTanwgMMpk9IorGjBUTFsD6gIgIs8bvIdXzplG9IV/ayKPDEz4sh2tLecQ7E8JlsENR2M="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.6dd168a6_1570057176097_0.11220061758672317"},"_hasShrinkwrap":false},"0.0.0-canary.88e0d10b":{"name":"react-wai-accordion","version":"0.0.0-canary.88e0d10b","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^13.2.0","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.12.1","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.3.3"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"88e0d10b5cc54edd981642560b2abd7425e8d069","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.88e0d10b","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-o+VedhxhGqihmSxZptJjRUsk4vdFBr2i0F8yQ0B7HlvT6UfI2jHxc3pzouHaqU0658woCQAOYVVcYr8+9+b8kw==","shasum":"00288d068a5aacae2de3a0961c83a83a840ef961","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.88e0d10b.tgz","fileCount":44,"unpackedSize":60990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn6voCRA9TVsSAnZWagAAh8MQAJyC5OhIaf0EJleq9t5u\n/CldNKyuCZGztZmCKfGGWbeI3F6zSwiXbbXBBTiVJa+aYkM0gMKkMvHKIbvh\ndnAlXPkM3cwoZBmudcOaDyzTO54SC1P0sVzgsUSGkE4g+xogx98IV4QuabK/\nAbMi6r6G/jDW8rlhutMd3sGS3MDZQimCZPVPs61gulXDeywaNyBWKHCd41EV\n4IbnRGpC1VG4sj93xZNv2ZGXwwy2vB/yrNdYcHF4v4XFt2zInJNulTAm6ZHz\noiG+3pMDAnaMPfmIvWnNnDbb7+4CfeH8qiUmF9z0CEMVtU1M/cyzNgGd94/F\nxT9wUvjfRaj7eaX819iNfDAAXajGdJ/0526UI8tRphNm4sAgtH+ZS3Ytvz1B\nb58w5aqGlo+rQKRAIYE9Fw06qUXjmL1+Ux3kDwYR9cLtW5xtn/Nias1nGKIa\nhueRLBaHrMTDkSXkUp4BXQD2jfrF5zwyqHbJGuj2B+aMLtelraptEeCV57IZ\nGadm+plwSF/9UMMhr5NhkBVXJY9h8qZxMdb7v33esowODbBPszMp0oOTch6M\nu+KId0MdpYXkRowOodkkJmoDbd/8dUSgI/XIWE3kn8EFOoVVzA+UHdRgm6zZ\nTcq9hBslZlutY3P4LEBzora2mHyov8kEHFsYRXBEotXZrgX6+IUjLrcSg7ho\nq9VF\r\n=8Poi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEAmyA5Jftxb/ACh59m2QjhyH9eTqV+rU+SWTPHK2nbjAiAoLZC28XgMOmlhy0scJKNGCZFnxmuTyX0rmuW4Ab0wzQ=="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.88e0d10b_1570745319555_0.5102520697146522"},"_hasShrinkwrap":false},"0.0.0-canary.67240aba":{"name":"react-wai-accordion","version":"0.0.0-canary.67240aba","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^13.2.0","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.12.1","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"67240aba0351ce3e25f9bea06977c794b92c176a","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.67240aba","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-YvxznjhYOYEooWC4fI8M2FnMV+GMAgiTe6GyD7wO53XlhVLwih7EgYGiFmW8NLPgbZ2diDp5h/rCbTIT8nF0uw==","shasum":"39a698c6eb51b03e2765a2883671d8a7ea6c5088","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.67240aba.tgz","fileCount":44,"unpackedSize":60990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn6wfCRA9TVsSAnZWagAA6KEP/2Sv1Cn487VBcq4J4YMB\nar1sYcJJ1EZFHqnHZAX5kvIM4gtgG8xBYdW2GGFrkbAS++zGJNuAeMJlJhkV\nW7T7q8EObWIxBvIJkCLg6GUtF24swuRUUTXVNIBOe4Q9FgACToQMS3yKFuOY\nV60KkQE2iDnA1e4ue0DCwi+YH83KKxu0kX33zJ0VvWNCnN1806HW8xwW1qGC\nl4hH8xg3o70K4H+5liYalJW8dwTAAZe6UV9lB3XWriO+nWEOqM+pb0ajVfWp\nF9ugX0FYWEFCAqLhF78FsBGxeWj/GXN9RKZi+LsaMKwHqMlUAVfX2YbcevXP\nSZbagagayQ6EUFUE74wiLEFDPnJzTMMHCvRiS+OzYa/nguVcTqYpylGJ2jrf\nZse88imYGyrjrQBpWLZNdxRhlh5AR0tdmiOAosMVvXMr0dn0+NQCa9PCD8mj\nOUjEnMpFBeXW2hggyrtNM29RT1SsiLuy9TZeAFMIb4bIlAbEn8rw8QjUWbQM\nujxnK4w7UXBak4V9WM3U6ei0Prpsrb+y8gmNpQ3dO59+FtjMfWF4Le4sfIgg\noLtJNFi86672Che8j/EfqubY2oLZxqKeFc9Dq3STTzCuxxznwlCFsVHSNQI7\nyXbjMbOKamrsE9VKZQ8JYewRNee1A0vfS4D7ac/lzwpmbsOUAk5FKNe9r2Qf\n+ktQ\r\n=cj7l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHdQVrZHRm4432xIaoAlZ/qgQOt8B9j/D3wAYT6qNMbWAiAO1ICHfjCQbEjxAvq+b8FIdaPk2XWVNK5RF2gCUYUvow=="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.67240aba_1570745374405_0.33961052247376156"},"_hasShrinkwrap":false},"0.0.0-canary.bc0ea5ce":{"name":"react-wai-accordion","version":"0.0.0-canary.bc0ea5ce","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.12.1","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"bc0ea5ce42be85ab31561484d6ca60fb0697f994","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.bc0ea5ce","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-pseQPoucMBINeb3HGuJkVZOjlPArgeBT2hj7ckikNxPldTT9zuNN+b5oUH0n84ggHt4qG0k/s+C3yFF3gd11vw==","shasum":"38a145a665b53c05996f8601f38c7349ae3cf857","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.bc0ea5ce.tgz","fileCount":44,"unpackedSize":60990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn6w/CRA9TVsSAnZWagAAXUgP/0YjtXK/gFw3Uwi970Xt\nGbQUSkgXPe8fUevA0H/dntfcgqwxkgK8QTMEc3HDkX9Zy4WuA3eBfKHo2rGl\n1vmzC4Vy9lvAr4ybBLkoMo2nmTINqopHYxXa/l6xqd2PY3P2/1mAxqZbB84b\nmiv/vmdpxr1X3SpHMJGTBQ/uTHN8YrL7nKzq/xeV431ZBKaP4Zfy7GDiDkFM\nuKwW/7E2kVSl/ucmp82J/nM4O4uq1qAtzB++UWVOPdMQCl7y8pKPirXowfDL\nFteatLPLHcLeD4zrHcXKloNCqinlU0eit2hz5hHw+Lx9RW5dpsUB6aqvE7Bs\niIl5rI4LFnKqyTKz6/kMqBG/J4ewAREStYK3fcnGlX43x1UhtyajoOLaw4zE\nYfyjPVOMEzK33/9ZJb0wgcqqSsMScIISnwoFrkeZRdOB0RJlIzZ2AOL/05ZD\nsGJwZo4gnQMyL2ZeYhxanzMKjctpDgXMvjrFHH9Wpv2ZTbS7/b91O06Gm8pN\nx6JCOlsG6D//ObvQCXlVp4XUgBJHYlPyqX5qnm2qh1qlW64W+UwcpnFWdqpS\nTBaydGsBSmH2fbaBk0koKn7zqSRQtmB9diDUTOQiwT2yS5LCm/COx0t3HC56\nHyeNt+/8Lm1DDFhIyqFJBd1YXeWlcOQ6y7G9+nLAmJkWwc6Q0p8t3xHFHHO2\nBeB4\r\n=HoyB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4UPUlk47KR3x6OjzA+8olVktUmPARFAMFV2uc3VZoMwIgZGpJq6F5xYOqqJ3/CBsE7vn0XZ6xlNTxTRz9ruitWe8="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.bc0ea5ce_1570745407124_0.9288039535962944"},"_hasShrinkwrap":false},"0.0.0-canary.9016a28a":{"name":"react-wai-accordion","version":"0.0.0-canary.9016a28a","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.1.7","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"9016a28a69a292f7459cc00efaac323a7c783006","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.9016a28a","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-5Ui2hWtzTFkQF1AF4Ima6rT+cKxMSQeM1vGxctQ8vh9id96wVbMC9sTbDK3M8IdF0en1gDoZMqUDigyfg9df+Q==","shasum":"b9f0fff4eeb08aad0227e3db5c3be93345318528","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.9016a28a.tgz","fileCount":44,"unpackedSize":60990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn6xtCRA9TVsSAnZWagAAzNQP+we6cd13HSXUOjI1THZB\nXWhOMPj+IVSlckTfUxDbcGsR3BfCrks5gXGU3drBNfjIJzwSqN6xDzQuw9/2\nbyJi+SurU9ku6m5YoMkzlhznrjq/FzOGS2DOvfr9H6o+mlhUZngAfuPtbSH6\nYsCnI94NemlR748g5sO0lfIt1ECJr6qYw0cl8CQ5YkQd+KpjAabenRVSmBLC\n86T/VgnzqapW0rrUp+PRN3Fx4CIxdrLNIYuJk3oev9Za33SXkXWRnDzVrlbR\nEI+F0f1E+WfpQP/zJxP6322nUthXZxNVNrEJg2IGiJNDpYHEii8xCeRWa9mT\nS3TSe0eHxqjdOIv3izciVcSZQ89zSmbvD+ib8lAn7JPBWr1j0B9LoxnAmq9M\nHuo4jzxl0wIpQYFZQE2JFVyM/bXKgWmxGpR4GmGe9llpdJ3mUsRmAMouWRQx\njbtEiNeYn19fi+UdjBycOni//5h1dzSOVWRXG1H0+GLRWOtKAhcE2swV8QnF\nxNPoZ6ankV0GiI1oDDddbMwHaUt2Vc+LPWaeTQK8jmN92m0OmUeWqenck+FO\nnztfW8LL6+Eu0zEaG+mEF7nqPSmj9o0ksRtQ1mSfq6fVqVVvcHwXIdXArnZI\n0Y55sMS7wlYsTnSzmqxXt6vmepl+tv/mL1uxF5odlmDkApDt/gvBFWYVKQGh\nXCEQ\r\n=J2kV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICp5l5qBwptzWTen5Ui1wDW4RXiG9khpHli9ul2KLbORAiEAoGLCXM2xUVvFBgnQ1kBV1Xt5rNlW34GO2dGIkd0Aex0="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.9016a28a_1570745452736_0.08417830185544917"},"_hasShrinkwrap":false},"0.0.0-canary.ef2ce16b":{"name":"react-wai-accordion","version":"0.0.0-canary.ef2ce16b","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.8.2","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"ef2ce16b868242ef631d42a3fc51db5e80d12d1f","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.ef2ce16b","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-AW0DuvVBHBW5kpS+P3NQs7MYLFTDgcaLqwH8yEX09W45np8seeYaF7om5/yJ2Ndh7NkpHXqDGXjkeU3Skrzzaw==","shasum":"29ad58bfe585002b24e7148889dff544d2a5bcc9","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.ef2ce16b.tgz","fileCount":44,"unpackedSize":60990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn6yCCRA9TVsSAnZWagAAy+4QAJaqLD1WoiCQJKTbXgxO\n386f+ON1Duz8/oWOFy+10R/hGfdxjJiBscttPW8kCuT4DNyPLvp2nsp/tMpN\nmXTVM4BMODMqFQH7cF72nSvUewxwgJ+Ezs8X1Z0kUMT5hsy37z7h3m4ju/Mv\nuU99e+U5tZMF3uocT1ibvC/7ACIRMuUFo9egJ+MbaoEEwbIoTMz7nsSPPy3y\nOAsg0InxXLwkHF1o42rMnYk2t0O+wBKyE/kd2qwpEKnedfaaHhj9H18Ha5P8\njjeDak6moXmS+cPy1UUGYsMkRYBfQd4UC8xw7BdeN3mApbnEYpsLn/hydmYw\nKFqVudeu3R6uW16BVRQHOwXiaImgtV9w0bc/nNktU5aFHX/RZfp8RxPZ+dSq\naUtlXuaxMGfvpVgvzsjaLXmqSSWLfVzbjpCiAyUZRz2Ck1n/QShYC577GkPi\n4rninc/V82JYR6nhzGjRqa6QGZtYxwWJ97gKFlDtlb+TurYaGl2wY+BlRguK\n/So/9+OVnEUWijrFR2UO6+NysOx8NsDN7lzxODhdF/aHyf6PMmr4UXCuqTAu\nqEh6moARqbswXrSIk6rD+W/E87uvRTD8DcNdY/EFEyr9ORfTicZCDJ3ShVvN\nct97x0v7jvpvXUEayacw346dQJ2HQxersY69OCj5VVZ/Qb2n3r5uFe5Rf6RL\n3iz6\r\n=pnVG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtlCKC+f60dGhSDUepk/uAgZ0/x/INH70JD7lqSkBs8QIhAOhzIK0HEWsjB0RrR+cMdZhPQPSxbAGHHKbnl337rcvg"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.ef2ce16b_1570745473591_0.6820225263883637"},"_hasShrinkwrap":false},"0.0.0-canary.3e1d27c9":{"name":"react-wai-accordion","version":"0.0.0-canary.3e1d27c9","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.8.1","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"3e1d27c9c940f7d36db178076ce277fcad12d1b3","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.3e1d27c9","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-lA1ZBKkIpp+PElo74XYTVSTqriKSPRdMU0S5JOEWut2X1Um3ihXtXrhDIdXqfYZXezb0RH2gSaGAOMM7MdSCBw==","shasum":"cc7711fb1fbdaa151d38a45005b91a004752e8e5","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.3e1d27c9.tgz","fileCount":44,"unpackedSize":60990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn6y2CRA9TVsSAnZWagAAW/4QAIL5rGTmt3Ly2CpCvvh7\nhzfxgINrP4xyjs61ZnAyOUT+CZERh02tvnkWcYGzVKoQHYR5xsVfzqcwkwk9\nJVpobTgwVoBIs4YfENi6KdKgg0IFzyonWjCtzhdwQHY/zMwuXMbAMsPNxQ0B\nouYlZzXT1CDHILSz9zZrd8qFSyHIJ6ZpFq5FxC3tsovlklNXE4n06AyF8qQj\nlQhubxmxzIc2FAqY15SKJy5GgOagRhYH/zPxWUIPg5yi+dgwGpFCsfobU7+0\n9TqVOLUHwdVSkK9cDCet6L8l7faifjBj56AWkx3XOFPBHOZJiL1lOlmsO1zp\nUff/I/vH1IELUFb3xbn0kDqeRPXzeby3XxkYgeuGDOtD+UdBg6pG0K3RxZjs\npO/5iCtWNppMK61S8qVSW5HPoIYp9elGulazxrQ+XJCQeldEDn9AdmrZu/im\nVTWeIPU7nkjE4zZatiOzknbLNCNSiHn+o/Y/RQC6VJGpw2LHPvzYmtqka2Ly\n8BAtbRsy3ym7q3HMl6dOUn1GQpSut+KoSfqMJ3/EQzd6AMo2FCMPqpSGgblc\nFMAoG5PIT1NGXHYp0n+CLf3jWDtmCojHHqhoM/iOq1TqfyDg8Di0EmmlFc+i\nvE4F+6R048swRot3XewBZ1Fw8whlkWU4Vnv4x+jnQAN5ZeD3jNiCudkPKJOQ\ntJ2z\r\n=ITcd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWuYzgcms8CetE7wDLIB7y5rSTcZX/bwm/w9abBLP1kAiBhbP2hvSpg44Ka3+BwRPi92lQwApIhMpdTDBDI5VI+5Q=="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.3e1d27c9_1570745526345_0.4491677351489449"},"_hasShrinkwrap":false},"0.0.0-canary.c77ea9a0":{"name":"react-wai-accordion","version":"0.0.0-canary.c77ea9a0","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.1.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"c77ea9a07fc5d2e08fe92b41336c44c6d2ed76dd","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.c77ea9a0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-wRPbDg6NNfuMpQyoDENhFXqPf/94KTXBkUOUoL/OMTx+A9K+jsXaUCg3S8GYHDMPk+7yURz3YXPyWA7IL5eg3Q==","shasum":"6c3a7051b57eab4724bf40449d5379930ac1c51b","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.c77ea9a0.tgz","fileCount":44,"unpackedSize":60991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn6zaCRA9TVsSAnZWagAArwUQAJ8Bb1WXHRJJKoQm32Jy\nHry2+phHPPSMXVr5SX8G5BkX4Om+oCZP2zawI2d8VSl+vBTfAUZyci0cIruY\nDIsdUaIXl4JHpzZOgzW+nNv/kt/x+eAnltYu4F7e7x61D9d+eXCMRqJOMkEw\nf0FDFTGvNSfNpjIwEvL3tdEuRaQigw/TYFsEo/M5F6d+kg0MxljyBJv3biLI\n2e9IJkz4LoKEBn2kg8wGHNpq16z4AeRfLs+zwN02NWyHNUMYwTpRX27yImVL\nFwnrjO1+85kmkqhOPBBwD9EXjujaGoGyBqkx/0y+ikJiU8YlEi1groBuaYyR\npXSYgSW7X4aUu4Ex8OWNHIgx7D+Qxp489k0Lm0hrA6vXqnymJ5cI/j/pJayc\n27R+2itZUocaDSz5g8QNAp+kGuFHjIUC+eZ1eZKs5EH1E1Pk9FP/doCnUf8E\nsqrNmWqih7iJzElMLPwk/+SpV/xWBOJCxpFq+EF033cswnwswL4s1LKocTP9\nyXSDEFcHlK6tZ5yUQeYZDIJ/BY4MLCejRhrXZeNf/7Yi4dzbHIqAKHQYXeei\ngGbavVrMs9o6fSgCut/Fp8hnIZ+8jrss4EBqMui+UlK0dqmEoVtwOqVi94e9\nEkdIyNvgJUVh8J10OLsBmIC+PhNuLt1IVIJW8PMPg8FrDFWv9iUpjgqGyq+U\nEBeV\r\n=dxip\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5BVNiMoLkBciFhwRvI3c/AyawdPixeRZIh95tz7LujAiA7EdeDUDxC5sdEgdhnL5gqHrfuZ8IrBhqAp+i3O0jIlw=="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.c77ea9a0_1570745561806_0.2992730427248256"},"_hasShrinkwrap":false},"0.0.0-canary.cb4313d6":{"name":"react-wai-accordion","version":"0.0.0-canary.cb4313d6","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.5.9","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"cb4313d6219cd8f2060b600d4b38be714a5d0455","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.cb4313d6","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-3NpafLNhXKK78hfC5Lnnng35OWnrQWnbKwTSfD3mN+j2FNBabW97kONUJvIAsT1W/gbvm1QoPJ9yxAdSalw0CA==","shasum":"8d2f145ca9666f6c8042de625ed2d9003105059d","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.cb4313d6.tgz","fileCount":44,"unpackedSize":60991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn60HCRA9TVsSAnZWagAArHsP/ivs2NnmEixNpmH3RXY0\nIoSF6BYnHBu8Qdg+ff6JkIsn6obMccywbGfzf4A1wF2rXSRhLMy+aqS08Bif\nlF6CUIg7h+Rm8xFOPxUFGj/zgaSWQo6B1XyNwd5bdXMtuRLvsTZhn4N2h0Sa\n0Qw8CcOkw1DrNkxIEtP4WvR2Gm/F1SWAg79Vp+xiDqYDiq3hTtN3sUSmR+Ye\ndpwhjZSPKtxhA/tC4QOgpjvUBcuLu2ylIrKxpQWhaJfMi30PdcCt7yTfe+x9\nIuBHjrUZGtIzQRFqSX9SQFfvvYY8BWn1uH3oB5mIddlyPjoRl3TvWTLrRxx6\nixzw8w/e0MHBnD8kgXI5y9KkrSWn2Zcmn9miM4VIbXBTMGuAwKPlgClIIQ3t\nq5cZ8ldV1bhGXdY2Pl8acrxxCkbWgGHIOEVOgO7u19CTSMhpw7yGrwc8mpCZ\n3aKVSxN5rFtL/YxK+fAbKrzH5+o0YOd5RAknxR+zpbvmlCoXTOy1BwJvuQXM\nTmrd6ZiKfmLmWUAzxagzqkL6Nm0DGSCvq3SUgvoSojlzqq3in0a5cO2xiDql\n+NDsHrq0Wh9PeH/E5nKdDa0uL2Lf9J9CUv8XV7M8Sv8GMP3TCVhFQXKkydOC\nyLU1btgGCeY2w4Ex6JLUHRJOt5ZgD/x/rJ6kVWqPTvwbsqZwWBMTzjlkwS6j\nx7ph\r\n=xsmA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkBN5pfsI8mg562oB/4p8Dv+O1HHP/3274GxyeuuCgKwIhAPHezob8dWXobEKHfRhE+AKtCsNuJB54vnAviqOhgb9X"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.cb4313d6_1570745606756_0.9270994482525918"},"_hasShrinkwrap":false},"0.0.0-canary.18012429":{"name":"react-wai-accordion","version":"0.0.0-canary.18012429","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.2.3","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"18012429bde98c96ee06839db4b349f69b728e34","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.18012429","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-EsyPzgLd/kE9jse6wFqYzIUOtc/3V6QYCkyDZ9XhLPTS2vyy+VXPpkV93yhBweC4t3UqfQ1WLLkptZplaBwowA==","shasum":"aefa050138e0c290fe18a7493cf8ebb94b06a1ea","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.18012429.tgz","fileCount":44,"unpackedSize":60991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn62QCRA9TVsSAnZWagAA34EP/3d6B8aPhbm82i32VPqH\nmpwZYxdJjKw1A6/LK0866H4Y8hq4PKDm8KzAgU9QYwCrgW5m5dpeU73M2dtH\nlCbN5lQgZ+rYDRPdaXcDf6V2LZRs4nm36Uh3vLNkgjVVr8nJcMvd6xuBMSbw\n2i1/Arh+SsjxJR+JSNarDpLuibFmgwC4cWMUinmSz8Wbq/yYrOTTZtwQkqjk\nk0b+bSZjZtJso6EGpdKrtUDRCKV7mroAZnoEOaHCaNAWvRLKr+EZFs9ifFv3\nbX94pcify3OBI8Xg6rQDoYOXrDnPkfaq2C/AUx7u4Zz5UqNgQzlmcG800eDB\nG0Umj4rZQ86Gdc+LfqczQmhg/zuRVAYndRsjyTosqAV/IFy6GmVz+K+2pE4s\ngSWjZVvolfFtKJYPH/XlT1/peCA08yjlGGs+gv8Oteu/biwFCNe/EsWB6Olm\nfYQH8ITQGFuhH47fzvIbFqBhb80dvLyVtT9dbUGoP7v898AnDWCO9yCmpwvG\n/M9qmWLSLVyO4JDsK/+HwyJekoxJvP2jXJ4wCHqoc4sHa9S5UHgorFx96xvt\nM9M0hW2UHtNf1vi/Uue7C/DONDXRAXeGnreGgpXboIXsANlC/XvTsk31Zx/N\nC9bL9p+9VQzdt1YVOWhhYQEViEfd4p+HVyxh9ONR++6B1WC/EDwuQ2T6DBQf\nYkiQ\r\n=1Z8Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNaSM1YBFKkZ5qmnXSnvyDf9ZVeJOZiQKc6i+IrhYDaQIhAMEdAk/sZrU5q8JVL1J4ITgpGOaoaKrFYuGGL7mXb9Kk"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.18012429_1570745744053_0.4087658930827085"},"_hasShrinkwrap":false},"0.0.0-canary.a12b3e6e":{"name":"react-wai-accordion","version":"0.0.0-canary.a12b3e6e","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.0.6","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"a12b3e6e2bf3416732609ff9dace03b696cadd8e","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.a12b3e6e","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-+h78PNCrysvkVn1lX4Wx2Z659hn1N5QIlixLyF8/GvEuPYV4AtwImYZ/qNjxxe6r+g0b9UYUFXWeVu9eAHWYBw==","shasum":"98b5f4c0a03ef3f84da49aef08193e26edcb6729","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.a12b3e6e.tgz","fileCount":44,"unpackedSize":60991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn66OCRA9TVsSAnZWagAAPecQAIGPRtVfqV/4pDHRL2F+\n3ioik3q3TTiO8+pFwAOAk8N7+HFoVZiNS8KQXuY3rbFdTNXZnJi6lqsJfhJ6\nXHZnguu6W4ORdNXu0gu+gR7f8Lf0KMtORjOnKSQUqXj+no6CcFDw77iaTS7h\nG7LY92O6V/bVnL41uS9KD4ZMZjM1LlIMMdEY2mqPlLV09Af0CnqTxyCLg7e7\nIwfRGqFWT9BxXIpStaAGwNNmWVWgK3aMbxBIf3xdSq24D7swPvDsd/Q52JzP\naVWndREngaCu8P25lu9ObDNkovNMLWEl1aWGln2Fh9O4TcxGT9tGZi3sUQRb\npcNkAHfzUP0iDRUV8Ji1ty/2JtGXSmIJEE+O4oOLj7oJoRwqwICloOXoFYBb\nRNC51AJYgqar4fwXiT7hLymQudBIT2woDxAHI/KWrLV9mYrvaXSfOyvmF+at\nQfQx/42eWr5wdR7HXMnRKEtg9zthXgIo2RxBD2sv2A3HqkL3wKEzPNLhM5kP\nNcveq0BPgB/Vcs7YFDKNW8KfCWi2cQWPfjYrBE2aZOsv2uwcyMsV7beG72nD\n2axhps855rp2OK9rQqgT6r8kXW5g1MHliipxHuZ+wdDJ21goULIts+QPQEeT\njZhMTSAM4BAnLKMmp1lNfrLsoAeqTm3aFh7d8n7bbWzSCxqdoXxjz5fDvEGK\n6kg3\r\n=+ngk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDCJkhtFcBEhTzElUV60+SuTgdEqSaCUn6impZveACTVAiEArChuYFVoGT3SnQgatLXKL9yY1oN62tuyWwwgsF+asuk="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.a12b3e6e_1570745997458_0.5714159151996938"},"_hasShrinkwrap":false},"0.0.0-canary.8156dea5":{"name":"react-wai-accordion","version":"0.0.0-canary.8156dea5","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^5.2.0","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"8156dea5b68ea275ca830360d0ee3551853283c2","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.8156dea5","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Bd2G0YZuuXjVoKmDVZSVxx22Zrh6n1ZHOPuqcJrngUj2/NpPgpjao5BS+7yiX/6CrZTR4px+jErBaZbyEzdhig==","shasum":"e0be46169522552432ed84877657f360b5c3066b","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.8156dea5.tgz","fileCount":44,"unpackedSize":60991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJKNCRA9TVsSAnZWagAAW7AQAJgLw8/JcyOmP6woCSyx\nAcHPVIMDwarNmf3cKLQHYGeqDoo9HFzOy5x5akGqa27t6kpRUNhI2xXismJy\nwl9PrN/ARvDyFwT2FDEQP1wsLnLhuOREwk/mlgYsScr6lEIs4T3hjkbZQxH/\nvu8y8wyl/ODhAcc65hdvuDxs3VLw3vIeKkMffdZSj2PaXrNoXUo6qUbcBqDx\nxzN4kLvDjHxUSBaXWcmI4f+wq/gC5ddHt9iN4Qi3Q00I0ZAzfiRKNABTV++B\nkWT9N2swchUPYPvfm3ghGRWklq6Ja5MaFAP3BQRqDr1P20BulE8J0Q7tiqQA\nCP/EJ/ShfGlr7RshE9QUNYF6gYuUYHNo4fEGPwftL7wY5mZ5BP17r8RzCGtg\nXA4uGVs90wGvonlEF1Mvn6Berj3q0mcYg6mrgA4auU/fC8e0NkUazmuiBcon\no/Ip+HPRpSC/dns++fbi7JMCvpowsY5mfTh0QyDmcjRG7tCKsZHMYypaOwuB\n9228EQHaOOKaiJa+IwVUs7tZlYXB4cvdmhrEebbRBQyCmHUsm4hf1rruG/nh\nDNQWvjKAvqEtMQtkEh9EZHPVRiGEQlJ3FP6kBYHAV72gO8YwSNoQx65HaO/c\n3q0Fcpw4d3Gs5w2+DLZlBLBpwryDg5SIGzlJdGy7e18CWjHqNpW+mKmbRwls\nZTMU\r\n=oVCT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDS4WflWtdFE8ExMWAkRkjxYLtHsy+cWbBf+9k7ZT6VDAIgDxmM2F5S70BLSM++ddUi7opykSBvGwTbAocDXn0EJZc="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.8156dea5_1571066508880_0.3351642191613282"},"_hasShrinkwrap":false},"0.0.0-canary.bb93a129":{"name":"react-wai-accordion","version":"0.0.0-canary.bb93a129","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"bb93a129bb281b0bdb8f61d5eb77029e40261adf","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.bb93a129","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ioOUoMjrR892JFxVhU1rJRMU3VWd7xBB4StzY4XDrE1xnGaW81GcaU+sLEnYYL6CGRHkuwmu5BygzqO6tkxc4Q==","shasum":"138414e8c954259240038c4261b482b624e36095","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.bb93a129.tgz","fileCount":44,"unpackedSize":60991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJLTCRA9TVsSAnZWagAAFBsQAIHrBfPEQWo8JTqqNSzn\n8fO957ze9J05zSbGlfvkF1pbFggMliJI2l1aEAjgnawl0P5jciHRW8xkS5dA\n3wu6nXXfkXpQd87GJzw+NBbl92rXunGQp/qhqIHsmt4G67irjwKlkxQcUP7R\nkFlD9w6RVq4NtBiHLRUd4i8zTUNiYDsygZesOywG7ReN1kt+Ph6EWV5x3ZB/\nla2vfO9V3HJFnr8tEWvS8VeCYlSGZ3xHqHUjn4MH8eQRFUtRpq2x56Kw/w+m\nRqfnEfoZzDe82bPYArdclBhYl4yjd5zjIJC8Uyo8MaSqlvJhuao+xguQ4sEu\nFhr6Sq/dtjur0bomRI8lj1WYEXUIIcXc5a8cRELAlgYlNs0PjAzKMEjo++GZ\nl/A5ifcOVfba7tEa1XG1azCXhrB8di8VdGKajZml4GeyCOqbIH1mIn39GhcG\nAE9lGoWEnG4p0oaE7P3mZKavPT8qzK7FZrglBV+Xn8+eCE1SZkS6nzgklomA\nb8zqhMsnwENXnF2yCPVSU8lYIXnFQp0COEEcL8F1DFeUj3LoHeT5VYnKgpXY\nNJXQwnxYsngI4lo1/X3tSY3xzZqTjdfmyupltQXHPyw0qopSN/Y9aLyZ3A+X\nMNc1FntR7/q65BrRY0ZQ4z1+8fO3R19tIlbh+D5wJJ7jjAlMeiiqUymioP39\n5utK\r\n=6Rpe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDuK0zLp+NJojsxWXX2J74S6DHPFt2fkKrTcOr0quXXEAiEAqhRHbB1nxCv7DOqf+P9lx8t/rXxdkN+4451oaB1G2H0="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.bb93a129_1571066578634_0.5489745763672087"},"_hasShrinkwrap":false},"0.0.0-canary.4db2f36c":{"name":"react-wai-accordion","version":"0.0.0-canary.4db2f36c","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.9.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.0.2","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"4db2f36cb8eb87eb7f9554f5d5e531e838f76e24","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.4db2f36c","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-xuVyaWJHf2LkfQSqWJhHxfdOTRF/WzDRszH09/YEmF2pPrO8yrGT/3EX0+NqmlSDTzDZIegAmvdTVtAXK89kLQ==","shasum":"3147873d782a2fcd0413d906b616e9ac22d5393b","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.4db2f36c.tgz","fileCount":44,"unpackedSize":60991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJLeCRA9TVsSAnZWagAAKz8P/3vd24SHoQagSR12IsQ0\n44rGbueUo6pYS5JH/Cqp9NMki8ZB2cQadGxLBayk9+aoZHIEaA0aNmq6c9YJ\nS4M0tb/9CbP3eqvDkj01VByFL4AT735J5ZZohN2eT2DvB7JuPt39jfxQciDd\noue12m0Ft/acurIlu7WCAN8evpzsUC0agS0ZYJPq88tQdZ84cHmd7mvbj//J\n4BPi1otsGMO1by1cDGPOcE5PWVKrtk5HM+4OGf9IQFOq22A2uqdWcq1UHLS0\n7NYrZ6vXz1jtZXuBmbhDhKCN4OsH0qV5Vsaam3IEik1+zEhM8G2ndZ9XXU3g\nFv0rIFl471b+UNeMfDTuKIv84mIn6lUM5z9n6LA19nEelckbRIqLY9ZGUo9N\nt+0Fa1CMcNenjh3x39D+IHIu/wM1Mvvb2bgaFcwUAsXzZoavNzARLYdtq8VW\nUiCZKPurDDmylPwm3Dl/vGRa84+1mVmMMVfjCN+Ys1y/UUaHkttYlauiHUDc\ngYXztRdlo6murDUqNThEfgDkUmyPp0TcDKoEP9BCvDGuom4LbLDljaltfj4e\njMnSHz6gBmSjJrIRJakUWy0dXoDMtgtWYr+WYoKqGd+nfzL8ZpLe1gOZwVt2\nZ1Lfr0lB3vgGEOhhKbzlLN0LkXZ/k7hYAoYECa0Vna0hNbUHvvTIJ4r6IKKg\nlwv9\r\n=Tgl9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmURSdAQfQonSa9ibzAiI7jl+z5+kFVF0Xk7jY04+AWwIhALm74acEHvzZVe7NtnvArM/xggzwrCP7W0F97+Ahv+kj"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.4db2f36c_1571066590256_0.18622455384623438"},"_hasShrinkwrap":false},"0.0.0-canary.cb65262d":{"name":"react-wai-accordion","version":"0.0.0-canary.cb65262d","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.8.0","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"cb65262d383c9e42b874ab131b381b3bd3362648","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.cb65262d","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-L9ynsuEWvEmc0uREg8P4LX3I6FGEuewtmf7v9wgf75bcehmbQB0lu/oLHTEr0szU4qq0G1S2Tj/djObdZBL3TQ==","shasum":"98f997677ac7311d470a6e44251c24684c92fdae","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.cb65262d.tgz","fileCount":44,"unpackedSize":60992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJMHCRA9TVsSAnZWagAA3gEP/Aybp2OdxzshljoR9Fjy\nuhYR10Dyn/ETr4IzCNlqQ3xm/wN2V8c0ge/aZGkSlqWWJafwOswuSpAWfKu1\nl0kzNtRaySouOZ7rLKc5aT/1ocFNkwvIxy9WPCE6otAof5CtUrrGIDhDCAn7\nRQcajm6/wWfgVBnJx9Zvli9yHQc5YMrZu9RAYD2PSVdNdJGz+YWiu56fpKLV\nkAigOtTwR+zzj9TdyDqYWnGmamXtUdHvE02co7cuIVGs0nv3wMdKYen7GPqp\nm1EKwef37BfEibDPgYLzn2LoxORGqWxc29SBrxpdvInLGHcGxTKC3yVodLJ+\nIvKDxMhHTQdhgMQm07QFUD+rVM60ut6PuPXitPbCGDIXK+IbibtZQRF8veGV\nqMSvTRvjY2YLW9smuqU+etVc06OuwX+tRcdqiwQ0LiaGywcWsEAF3jafVjeb\nbzIZTvZK5zn+pO+9TVBfDtxcmRFc60RivhmEojW83IYN+rr0oMui8+dBn2tC\n+aURgwARB4sUAm6mNmfFj36zNEn7NWHYig23sjwZOI7RUiYo0m033xaXEKtV\nRUmZLjoStBgKPZabhzhVDIU527ivDJpyrmJE25EmrMBWML5OG1nZHS1zeoJK\nEQ5DFcsoPPIRnpQpnFk9kCqec+mz0aHFIVUjss26kiLSXXl2KdpcqTJ6utXS\nYdR7\r\n=hk/W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPn9X8XGm0A5jx+9+IB50ZtMxxxog7t5X/bojBp9ShwAIhAMvC6caA6+/SNizExzXesQCZJT52vQZCZuzEXLa5fY/J"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.cb65262d_1571066630379_0.8694810847785266"},"_hasShrinkwrap":false},"0.0.0-canary.de04928e":{"name":"react-wai-accordion","version":"0.0.0-canary.de04928e","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.9","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"de04928e2a51d6c484254abb81f2144911818c45","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.de04928e","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-RvB+Fzzm8RkLQ3YWYohszA5QeLWZN2mI87Lb0yufyCSpR2N8+VVKKwmv1IT9dKRhMQ7huMLrmXUqxAvywb1j7Q==","shasum":"3c84050a2509cd0b29b0562d3fb337d36fe96f1f","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.de04928e.tgz","fileCount":44,"unpackedSize":60992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJP0CRA9TVsSAnZWagAAcxsP/Ai2SkozP7B6rJDlgxAV\nfP6N+7Iwis8L8tFtDMBglwPWOHyI4TPr36spDrGjYZF4EcvERnGh53hiklEc\nl/2zoY7SZUWcPRMJsgTn6VjT2KS7JOsdFB5EAUkweCuA8/O2ylkTSmB9GcLY\n3IlypQ4R4AkMFmOI9gs2kzBPswb6CRf3I2ud9mML/3w4L3BPBUN4rryuAT4d\nO1mlV3ncTbcCSLj6Ua9oq2ghA7oaENp8FQitVQ6CG9rhJnloUlF/HaDvn5zV\nAnF4Ph+/3N0zGoYMu5TQrf0UWWlxRjnbcAXKcSSNJxh2ngQ+HMwKvchDApRd\nIYpDoFyiGVy+AwJqR1n79r1iW9pY1ddK0dJAgac06+zprVfuF539xY1shqxe\n0sb4HXl5kMuUDAeMTjbQx+9B1Wt1DcI6uTqPk/hsLpYSL9omVTpbkHeJuU8b\npbqGEITl22LFkMGj56MqFJmcgJY3F6rHBjBDVqMUq/vGF3/4qKq3VD9Ikj7k\nV56gRkLr3TmJBEv5D4i4tcq2kgA9TEtndqvIuizw8BEgMWnt01/QXynFU1r3\nCiseVGKfysjgIush1lwYIwbRHu/kKTC76BEsI1bHNpcgmZjbMVmP5eoESiZb\nmyWfteRWnRux/FcefgdcDm4NAPMf4Ws3rbNghQ48nOvYDEu4f5MkPDevp17c\nl74V\r\n=MAQs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBu+AUp4hUw1APknrzJShHWcIPZDUQrH+J7TQdb8s3RAIgPLbhnf6ZEvqr7k+2ujxme/zAmPzIOKVcWlcGJlwKy6Q="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.de04928e_1571066868097_0.6453420076674627"},"_hasShrinkwrap":false},"0.0.0-canary.4c68f12c":{"name":"react-wai-accordion","version":"0.0.0-canary.4c68f12c","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^1.3.1","jsdom":"^13.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"4c68f12cf559c5226f87ce0b9092194a0a248b64","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.4c68f12c","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-3ZPvqfBnPl6w9x2kqh44OF1tlzikp7gGaZduyMZ1ZPozfaoJZZUnUaTcdNkx/V7oR8C+vqUT6MsJobZq5UOVQw==","shasum":"0711aeff338d21cd618954e337b936ea28ed8473","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.4c68f12c.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJQTCRA9TVsSAnZWagAARNMP/iNhR6GbIA+/7mAfnlm6\n7bkzhYdkr7nJ6DfUGRuwtlrctHNxSOz5MX/kLzhBUTH50Kpp0vnGFlmUk5S9\ndMhwqNlrigpLxMiM3wkUPEur6z1YZrQKKC5cZmKUrJG6vseNo+PFamwMkpoi\nG1VwxXH45JekqjStEFqhIZqHXKhJdRMDcF5xJuS/Sufduhu+ei1W24djMXYa\nFmf+XpJi4rfJRB3MmeT/+rLoDWf14IY72B9gAHSiLVfu8TxtvGf3e+5fFAGP\nZwZ3ju80dIqfUfYa7QeDeG1o2OcsgVCwXSrW/hFdsSzNyqp3E7Tmpc2NCh1l\nHkbAyF4723BwbEhBHr+iXshKKQrKMDag5c9ZGayN5epjHdUOtxUM9vYUxkPv\nlbVrMNeRPUbx5bs063J1Me04cvMDvQ8nbKK0TXD380RoCBLwaxO9MsnDZ1RE\nXpZvNsNHjk4aaga4hAnQMjZrdTHFpXMC3tJkeaqq5GBH79ttAZOh5uqjeHhI\nlbJH90VlInLW6rF1i0oDAjVwIvZ+TsjEt67Li5GPuFwveQmjnET8CVyDz3K5\nTdESzsB9Ud2p5S8LeG9BAMVUD1cK5S+VW7YULW4y4hOtUR7o7KMIzc6MQzWL\n7IO2nAjDEXJsAi80Hq8L0RJpUI4wpOUWY9AuAEB7I7xrKYsrz8L6yv13jSpv\nVFF4\r\n=PikT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDicOwazBMVFmh/IshM2bV29Jo86P4p3ZsqACmkuDEMnwIgbs+aadIWFF2ECPxjvT018mn+qNynb8hZY3t2yKiKXcI="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.4c68f12c_1571066898668_0.027858419446234794"},"_hasShrinkwrap":false},"0.0.0-canary.d9134ec3":{"name":"react-wai-accordion","version":"0.0.0-canary.d9134ec3","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^1.3.1","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"d9134ec341129b8acabf567879b3df96d8db5ee9","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.d9134ec3","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-zRwiSKY0vX+mupapuM569zNM0fDwB2HA123SbnxJHZkMhdHMi3hNdKKEU4tY/3npXm9iy9kN45W+9UfAOTBnfg==","shasum":"7ec7af7637efd72a9d0c0dbc5f7ba112bc7dc801","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.d9134ec3.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJT6CRA9TVsSAnZWagAAA8UQAKMHYsT5j2n7chysyH19\n0pi5jKsp/zLTeSWMx3dA52jCn0Godx3f+EXqu51jCNTPSoy1vAz1tHWmbp6e\nGbHJeoOntArOSOa7nto+7+oyjXbRDs5LgvVaOH0WjUenSoqsgNcqJqKJvN9N\nbDdOhkUoiuiq7mjilNh8R9sNiKu2CAgI00tJGj58Y0tTiw2yNl6yW+2M0C1q\nzWCsXMCmO/77L38cAxmzsJBVD6uRJ809AOWCFDIMiFY2ejmkBzXtt99ztV5Q\nrGJXfCWR7eO2pJ4/RsnVKidE+JH4uaKIGHsnF5BC/5/XGKIXWKwBEST0H8zL\nU2iyfmTVh1LXd0BJpL1uIHajtOQALAQcBht+YnA4Fo48ADcnugJf1jsy+ADa\nvUfSyo65A9KCs9XM6MpEkv29kGG0hOub9UiZZdDHWOLydu1yiA+Je0Ro5N+E\nEndCYVYVn9jSrAX28xF/A5m8Mr+AqX65JQWSrICdfB3e1kyLL+P6SJBSuz4W\ntQ/xYUd26mLTvx9G2vxelNQOe/abYQ0KOXkFfY4mksRlldYeEe7LNfu8Ea3f\nSah5m9JjhUq34uctft7LpmvmQF4q3F1X35vs7OyvVZJEu0Y2Fj2Fpbr/SleB\n9GVaorubHutR9WVxWwVqbztoBQxEWPWutdv7Ck5y1yKAYsl3VxNqIeDhNkY8\nMayl\r\n=84Xq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtbUb+FenMLVcKYi1NOKSK1JXSZ7OyPqdPWkQE93W38QIhANa0CkAOn6+szoeQVxxxDqkHN3F7E+RI2ITFIgX9VNk+"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.d9134ec3_1571067129964_0.4913533498916349"},"_hasShrinkwrap":false},"0.0.0-canary.fb89e8b0":{"name":"react-wai-accordion","version":"0.0.0-canary.fb89e8b0","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^1.3.1","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^8.1.3","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.11.0","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"fb89e8b0f2335ec097a8828bb25c656048a98091","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.fb89e8b0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-F6WTjJM3nV9ASVLZt5OL2y3EeFJzmwizh0CJvvPdWNKPah719xH+/v3oGHLM3odVdqT7d71L/KLNUBDu90EJJQ==","shasum":"bd549d52fd2e59586cc63539dc7d055baa5de0b9","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.fb89e8b0.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJT/CRA9TVsSAnZWagAAfE0P/jxJTosdZAWgISaIuI9r\nIv/VYHG5Q2H9PlTNc5nYiUR9rUKqcZKwatsGWKufNCRDdOjfUcCwXllA0vI7\nW76Ezylt+kvV4wrWmh2zf3vSZU7WEZXxA+XiVoWs0q6v8oQ8r6p3wGwZT2jd\nyPYliJpqF0E26gPy/wSZaxre7PjYO6N3GysiPERj4NLY0gicam/b4Jki3xWs\nBDuZsHqvdAV3Tr65ypTLmSCq0puZ0wKzgSTrBLXFEbWfM7JG0qxdb5KjWxRW\nwl1UOUkS4lSe/nBG3CjlQ56GJay1idSR3eDWf4fAPKZcJWq4rT0lCY+wIn0U\nt+pdkFh+HF/E7LVfKWMLZlrGIMYQIC57nEdBSarlybtvuJ8pqBaZXa5pPLWK\ndMIHGoHYuFN361aeseovFjZCAsOTAvya6C5Q9gVmY/zGoc7ExMiwxaYC98/C\nFWEIbv+Ot6sea0RFERDwR+WiNdQMypHZelJ2DfR7SHcrkRSOTtZ3VRWV+zlc\nZ3wujVwXt6oAOOKhuHVKe/XpgCwDQ8A3q+R2xjqCZwvVEgh8TjZqwewe6hzL\n/98mR+LSQu8MAd0WMlobIuNoiK3CAT1E8O8HDaEb7WVA/NGkmBT4sAJLDVxg\nvd2NmbitvfB4n4gdO3ZPHra4Co3zDtD0f8lwxGilBPzpS3KbmElbnaCDTzP+\n7GJY\r\n=JGuJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA0uo1WONozOBUKapNzdeXJ43tZxynEpv31lYbbNG3tLAiEA9/yhk99qt1VuxdWtrkIVmryTSDyxtyrVjaRBVxxoNyk="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.fb89e8b0_1571067134946_0.14339024265339329"},"_hasShrinkwrap":false},"0.0.0-canary.014c9382":{"name":"react-wai-accordion","version":"0.0.0-canary.014c9382","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^1.3.1","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"014c9382c93e110badf85ba460ad2f260d2b17d2","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.014c9382","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BqWal4lg2YWevZ0fXQKrbV80sG45rekqiqQN5ZCfot6Xrii41J0nAhyJEKs0iUAnP4HdIoqgrciuSm3hL65+vA==","shasum":"8987ccbe1d32f612cea621d093cf606ba1697b02","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.014c9382.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJaUCRA9TVsSAnZWagAAlAMP/0zpg2muM0e+FI5Mp/b0\nEWAMTMAlJk681Gu8kWNpBEh4FURhGPaB4UE+Z+toqEMVR+D1m/G+LRHoXN1g\nepVSLT2ZxzS+6HAbDQm83x+gVrXbTrh9HRhWmRBIW5aKkcK/r7iZ6EBTZxh/\nf8l6h2MCqofwLn6XufarZ527ckY4ETZO3sjz1OyB8rT9v4pyRz+oxXBuYPy+\nbq/g0s77EyY4u/seV0x/r69b5gkqUM8R4VpCkSLAhuaK7ArlwXCwsWhXo9eZ\nWW6CdRDagByMyz0LAfEHKyQ5mrcKkskHDkbmlvIIiwGTZiDJqhiexr+ML6U5\nA0RsTlkWWht0s8AJZlEqktBFWXt4RhYian+xbd1XbaaIk/Ve/hnTrxclhFLi\nNASwuUfr6rGjkEbFLyHZT//phrGP75GwA1rj8RnrfT6apXKsvxtMtfB8B6FU\nV7F7o6WwsVRskyVGFX0eaPxGOYQ2PbGkQvEF3k6e+GTXKudhn690b4Du1Ra3\nFsyhespG5KrfULMqVlwHjCajmHXw+TXntT/i0dryFtCtTamT+l/BIOVe5dfJ\nt1wCSN4s2mMCPEBHbkWvCJAIm+Oh+Ads2nOJ5Uf3VXWFYeetG2X5ROwNGuK0\nJm6ZjRDW8Vi1nHK5fVseT/u6mmwoi/N5BsvP/Zy93fmf3t0JqvcasD2sCt0B\ngvjl\r\n=kpIA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD79TFtXai9Pu6zPQyWmUCWREl04vZVhT+IJc4pUmK+6wIgTiAEsqZw0HyxBemueJJv8OBulO/Ssy87Kqkx9MZfeqM="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.014c9382_1571067539992_0.17005163981762395"},"_hasShrinkwrap":false},"0.0.0-canary.c71fa880":{"name":"react-wai-accordion","version":"0.0.0-canary.c71fa880","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"c71fa880c0ad22efa9a6bb38bd4991e51b83ce77","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.c71fa880","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-O8mDAd6yyzwB4yWaAIFM9eJ8ine2lmm1uE9nPRLK2aq7Zs8A/ONxeyIcDbCXnY7xVM1486YS0riFgNG3AJU0EQ==","shasum":"4f4a6dc02aa05cd01043615cb2646b697f160992","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.c71fa880.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpJoLCRA9TVsSAnZWagAAe7AP/07889xZor8HgRaPOJ5k\nItUG/Nrc2Q7R0NGtYHJTQMraYCqwiYYfH5MLUEDkrbIPK6q5ho+m09GWIJrr\nIUu7ga8lOo81sr6nC/psuPuirFuctZkVOhNkbeH8+79GFy0e7jmKmgVcpH0d\nEsasE/OPqkzyS5/L3z1ULvXkVEr/WEZ9M3Y9Ibm9R6PCyEiV6INmTIQAm8iO\ng1VUDQYseh1nKIEBoZFbFZnfISQCA0uTghX4iff2yacsZHHa6uHskZ95f2eq\nNlTo0YSgBe/9WF9EFJtxu1i1S4eQ/tYHAyBflA/QqVp+R2VCUXeHQjORoB6F\nqUxRrl4PdxNU96d+AedzYmV3Cx64xegq6KCfmAsYzE3JY4swHI0E1oVv9vKl\nr7uZ2nxwu8hzX0vEQrPkf/JHmLuX+3lzEcZ320darM4gmi8llTnTNA6TD01e\nNTxbTFRauZHNmJYBGqrcZUWjSmkX+qutnqGvoasKOMLQoENxIhWKOEL03RQw\nmeHIzeGUtI0yqd60tXLHh8EQQUugSsrJKIEH2fiWspWyy0mihL3dI+yJf6iW\nYs/nErZV83g6PuWFAsqzFPwK3dRXfPmNg5QUh5dbCvNAyUJznbauPJ4q/3BP\nVIRZsp7BpZeFIi2RPeE1Qv2CMP8ZTHWcY6nAjVGCpYRNSqSmTt2HWORXIltD\nRhb4\r\n=2Xak\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjYoTs0ygyuocGO8g6yLt9BI/JG+IBWhpWPP0yEg6dEwIhAOPNhkkIAIi2oM9rLbZEvaWHf9wtWAEJlS33b/9ezGYZ"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.c71fa880_1571068427048_0.7885107557475364"},"_hasShrinkwrap":false},"0.0.0-canary.7d5f1116":{"name":"react-wai-accordion","version":"0.0.0-canary.7d5f1116","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.1.18","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"7d5f111663b098d2490c8ca8b6c609caa9acf067","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.7d5f1116","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-G+Zi2r97gUeT8Lc+il3OO+5NM1dsk9CUDDB4GI5AnBJxYbCm+pwxN8u569uAwvA1W06Vvd3JrdEv6xXadxt+jQ==","shasum":"6d5b9640e443c7fdc1b532c6570973778b3ec834","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.7d5f1116.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpeC8CRA9TVsSAnZWagAAQPIP/j6FTe9v8umMCkrBpZll\n2nP4olagodLmsNNgac0ukbL9yCknVHAGqXsTv61SGYMgPValdZHNK1Zz7z0y\n0QxLau2KeLkn/FPkJC78eqzQSVUe1Z+AGbadYuAZcyWHs3EDbg0Ob9SrAw39\n6JjN4RUTu86V1C8G6dE64unjNYQw2OBI4Lavv/YfCtSUxNo84q76haUKZOQX\nl+KxSMTAWTfm+pyeRfPH+5c5LwGs5Wl90RKB3qYt/bb5p2If2+DRykXOYlP8\nbBS2vwigyWbj9/I6KioA959nxCvVqcPB4FGEs2VfypFQjqhouMlOJdIUS/tf\nEuzr4avoBCK6wnGGywfJYf7WsutKGyUaV+6K1sNg6krKH0ZdF/QswHx2WLKa\nzzkGoYNmyqm9rVLIMsBUHCsYu08rBNw6qkovPJXnInPcLO2t95FJq6Dv+pR4\n1g9iynyFnhLZIA72bTw+6zibHUJHtUdj0R73tvee/GomIyNBmggtRo+rJibv\nmGTseTzxcYyK6VcLNUQDctSyrzltH9cFmGLDaK1Ica7NAVYgM8SQM+O0YrGO\nGvtH9O5+zwEPfh3liZYm4Ig5qItLdGwrSGq4SpiHESP33tYzNuGLk3yA3dzg\nl8Nx8NkssPZbfszCvNHmWnU1FAKN2KW18zZuIk9GyNaXIGxDXk2QWqfNUydf\n8YNp\r\n=MCHE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7vunhIDy1cKPT7fI45RCA0de8YIJFGC3xiIZ/wXcyIQIgO/dXRGG1uAV/i4P+lwTpeQOJ205/kdxLxb2sslR23bs="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.7d5f1116_1571152059491_0.6000818371419476"},"_hasShrinkwrap":false},"0.0.0-canary.fbcb8369":{"name":"react-wai-accordion","version":"0.0.0-canary.fbcb8369","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.5","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"fbcb836914d92e98f58c5888b88b8568fca8d3c9","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.fbcb8369","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-jnu7ETjegPkqEcWOzUc3Cs5mFY+YPMJQYYL0v/D/LeK9gG3V+DMq5f6Qo196YqVWB0tMQusRSe1+ecfbAl2kcg==","shasum":"1f7b76190e99ea79cff809d55ec308a07aa92ab9","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.fbcb8369.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpeEZCRA9TVsSAnZWagAAJasP/3e2wHZrlGUj44/3Lpe7\nyfeKdsTCKR41er3Yb0QJ8kGydgZU+M8ptc0TghYf0+WJ85yHKM6v5w/RbSdb\nHJ79WfEJU/iGtQrvx3JTIyq89SDjNAx8T1epEgOgkz7+0blVNynbr91Ji+B0\nG+ecxcrnpG6VXKUKsWDC4zF3QL741cODs3TGVq+LGADdxRMuMAEdRdmJNS3W\nTBAN+lFek3fbg5idR4JS9JQPmGPH/z3ge/q4lYWrxHYzW8ztPwb7aqQTi0gA\nzXQcKC4w6a2B1tgHbdCi8ZiSrMraW1VsHtRmqj2ta61SU6i+1oDAO0d68lYq\nsDvDoMH/1SH32XDT/yl8MYI495M6gNP+Fr/NZBns9iSmhzMzDymr/e9lB4N5\nOfSJ7LTYvkRakI+BnC9DMT66tHAWhWqQDWGUsEMSOUFFBLyNi1wL2vFBlqQM\n5kDGqwl9ewdBIqA347j2+xkehv2TT75zf/SuCmg0fIzg5ZpKxj8Q3AtSSg7s\nTgTH2uoRnNJKbLhGFIgHi7jvQKVuv4fTwfB92TJSxf8nEw1cYt2o67zxGs8V\nRoWkBWQF8UW1qAK1jFvoDffEupDE5qcpuR2OW82UcsqtY7/bePZsTiNpuNLc\n9STyo9+mF3aNJUlao1RNRK29uNrGgntOOGtNQawq12u28Uz7get3jZbbTsxq\nrCVn\r\n=OVKx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH5sPinNQQ0Pzfv6dQ692u66xcdtfvS6LLbRlnPLF/FcAiEA85b9f4lRoP9YOXjhtPb59Mc45Nv1SmEywf9Ym316DUI="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.fbcb8369_1571152153125_0.5015452819660247"},"_hasShrinkwrap":false},"0.0.0-canary.aa33723d":{"name":"react-wai-accordion","version":"0.0.0-canary.aa33723d","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"aa33723d901a11a5d4fadb0917cb9e7f91ca1ed4","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.aa33723d","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-3kXZFN3GYOy4/XwyQ3YdbTpiVwGsdVkaQWwrwh3uvxkXYedq91SirEv6Fqk5RDf51P1PmElfg64/QWgkV6ZGWQ==","shasum":"b2625c91d3f9d22435262313ff7246caf49ca969","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.aa33723d.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpepnCRA9TVsSAnZWagAA3+wQAJ1mqHqrocOl7NmcZAPI\nODjZ0lkNJG6cmt1w/lIDO4SjTFq9WC3TRMPFfllOvixQI6EvnOtOI/ObnUn/\nsPzmSc4KPLc7lvyO1/u0MnQrArjto9UGEtxfTFe749i/SaqC7LpoV87FOxAz\nVinG+ih1lcrGrKZeaqkJZ9j8l3AYF9dmjPH+fULQnHHizP7/VER8ATC9KVk+\nhbGNHrjEmSoWiHBaHybgQugjuVLFW61wUO6itr/S1Z/1QkUrkaWP14fj273X\nBOPyMUl0yAgCzCyjiPGkKfXVldyuC6MpiRftiuHdg9l4gQa8QvHaAsmMURov\nyMZvTeqsiRyjbAhZdl7YG8HKUt+3R3rLMPbImRce+Z6gxzadpCn4Z6UphbkE\niJ4zjlVUUkbIx+EALOzyBz2pzvQAb9kR2grX0ntNdoDj+bL3M6b92PHKCGgc\nD+DQV+nIADWu3BXQhHBYlulo0Xc0or/oXl4MpCioQqUak2RGcxtoSdTRf1up\nYkFm4qDI7c+b7RJu9uhLw2k49Xy9+tW1+YgHaHkyk49lWoFk/saEJHjA6nTy\nbIG6skgVQfIyIFJ6/SIrifJh+jFffb/51GVZrodJBTagUNXtqrJ5uCQEXBiV\ndqR0G5wMcGxgu/dxBXkqjHl8kXWEsAVtciOxew+Yf2vMbvdvvKYEMHwd3isx\nlbiU\r\n=LbXa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeumuzpqWb9xBlmNTC0yo8ArX1YAucDzNjg/fp5kxE0QIhAOleolo4/BrlfttzpK/DloSNVaJd8BMXVmEdt9zPtkzZ"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.aa33723d_1571154535097_0.7378275813012753"},"_hasShrinkwrap":false},"0.0.0-canary.c4cc290d":{"name":"react-wai-accordion","version":"0.0.0-canary.c4cc290d","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.7.12","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"c4cc290d3a8b8260acf4fff754f4d300460646d6","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.c4cc290d","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-M1LVlJqpqznXuEDk0Uld5A18p1xiovYRItZRIjwBYNoDM4u5ZkAaqKaEcv3TvanljcBgiIY4YNiRzDne9HO0iA==","shasum":"749d07e7cb3fbadec449b572f8b8b4819c342eaa","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.c4cc290d.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqjoOCRA9TVsSAnZWagAAngEP/3zcN1T0KoQG6T95Q1BM\nX+u2ZXLG7E6IzH4i67jzieGxmXW9jVS1v5W8b7WjwAYkQ6pCOTNid9Gu4xqc\n/WLEZF0sGUgu5356EE5/lzHDLbuU8OZJuOxM/JrCGsQqDinDP0yHxQGqM/wb\nF7WrXy6+YAyQxJ5LtqknUsI7C7mzUPHlj+h1kNsjn8AGgo8h9nSSt0+KQxa1\nS+zku1rzxSAtknEZ1f0jDzFbGM6Quo4ki7PVol67tE7Yc5YtQtMrmuradIN8\n7tOlvpT2/EVbesC9USI/icyz1fkcfhRKkVvWDS5Eeq7H8H9/XjSfl0DabrSC\nLRafvDZswBFmoEUsNIWYYNJ6z3GGoNnNMzCsSLVeoPuWzHqyaRttoKr6x2Nr\nTrJj2zDgE5lP6VfS4vn0wQIPrL2rL/tdKvYGnjlj2IhHu/HKnlc5OsvcQnZP\nYgB60u7So931UhVJ5ZUSbidxLNcvAIvqElEjKktQZlPILCPiyMDQuDhLeFuA\n6dAYaeyZ8HqAOW6NjnxajZcaLyYT80Ee3YEfOVdXr0iSe3ATqvveoMSpL/lC\nJo99Oi0gsBmTjMzJk6fu1oD5pR1XxRNp0Rivma6exiFRCaMCnrkvpl5/c8y4\n6ar4mc0viZzyzQV0EKVY7WNwsBLST0UsYRhp9a+CVyyfYkNYHxpxinpWUxtM\n3I78\r\n=97Rr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTwLBpT4w/cgtIsY8hPGJoCGHMoPOF2/07PR8lO873RwIgMAtLkxpSfZ84Ju6/7vHrYlrCLn2FEw4aZCrhjJEkfxc="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.c4cc290d_1571437069117_0.9971538956001358"},"_hasShrinkwrap":false},"0.0.0-canary.78e7f157":{"name":"react-wai-accordion","version":"0.0.0-canary.78e7f157","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.1","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.1","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"78e7f157989136501de04767115531fbf239cd83","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.78e7f157","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-0aSuWN70hM8Ledz66zxpgpQjC03x8M4fSHsyHuKmQMRUVp351+jmayj83AQCJWZ4xmLsa8/amZ8P7ZjmAd8i5A==","shasum":"fcd9382d3d44a056b9ae83229a988358b7c97dab","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.78e7f157.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqjo0CRA9TVsSAnZWagAAUTUP/1XO6KTX2/nUz9SRwXpx\nCDe/Dd5bXsFaGXfSP8hiGrL57X2ZuwVGN4yyV9hmwfozYi+6B27Z2x6fA4ke\nnKtVh8H/C/JfRm9w1WFTQdRNzSFAlPvb/BrP1GtyBGUf/1RkiCpvTUCWEOPN\nDZ9yk9C/n1FBXoLTfDUAD2YBLk8B1mS16f3rUFAyRzPV4AJScQnu+SktpGws\nJ8CSiKdZF+fqEwnTl+7o3JdpT+aRSkZOhi/NPX8Q9e/cevX9OH3ZML8Rw1SM\ncW8Q7FrAhHZzxonanNzVNkVW2dp0hLDbONLaszhWUzW+9JyGZapFn+yRvWEw\na2rVrKfxYac1seB518NIusSX+PSxj8VeUdF46wsQVkouu5IVRVHSs7nlwxJH\nYaagZ/e2xJ6d4++vfeFCJBpmMFmPrIxJco1xSFdrV4+nWQRBFFoz+inWHfli\nmAumRNNecNjW1EsOcxb78J+3NDI1iw7rL4HFX1355NLzjSt0FssguTEfgeT3\n2yaWXZslN4ZjUR9/8j5KNpCZGWPoQZF+dXh0AlaHCtTU49Ie9wMfHifz8/sA\nDblRTsjlq5dNDQhEv0r3l7PHoOy/hn3/hKcPK/HHbtZsqU0EqBqGN+B2n7YC\nQeouzdn+wUo0+TdHrlF57fF8375DvotaYCp78xASHWC7bDQC7KpQG7A2i48d\n8RmY\r\n=XM9S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFm71rLgGAaxsITV3qKEqJhdeb0SKQkQPGKARVd2DbJsAiEAw7sbWbuJUZX9h4ZfzCzh+kvRR0gUSeRht2YV3GM7LcM="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.78e7f157_1571437107812_0.7401392969666218"},"_hasShrinkwrap":false},"0.0.0-canary.83f561e9":{"name":"react-wai-accordion","version":"0.0.0-canary.83f561e9","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.1","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.3.2","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"83f561e97273d819cd319f0d68edf55edc7daada","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.83f561e9","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-zVwhHOYwVY3EOGc/3LJJt6TxLeJETPnD5VMizURjQ6VIY+nMLrJUluRtzBgLl3dqInTT6CEwO096zdFPL1P0AA==","shasum":"254b030d60f628f99d9983f5e1eb4e0aeb123a10","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.83f561e9.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrdT5CRA9TVsSAnZWagAAl2gQAIIEDIDdPIuasheWawS6\neZwCkhYHle6DwpwkdqAU+cqQeH2TQ1glyIVdxXcB9z8lyrz9fdtQuYE696WJ\nHCbDonpmeKQPqCeiWjUs21mx3NXcAEgZ5dEXnT16nosFWhB/Kt+wzlfamkjr\ngJmWT7FcanFTUP6NlCHjcOD6OK1uMNMtXi9LgE7VuR08buHnCx3xLhnpePoE\nHNSLGLzUbsmgsu7xFxhBSRQO+1TV3UJyI72ykVZ40uyKNQi3KHSRlnWhGjjY\nWFPgRUzPe4xa4SSoMworwsc/9NSRvKacKdJQwTg7WOgLIyjLC+jCrxiu+MQF\nGvKHjjRdR42/p+slIu/CaW4I2yB5YxIjejwZ7R/9smvue1hGxMyomr2y1tyS\n5SfLelE07W5p6THmRStlU8OxNfcehkMQ9fiYgmUCcuPJsdevms3P65kvm0QH\nrO8fv3ITfcBO/q1/CoooL5lEzUT3M4u4fVnul3inbwMvRwuQWLMoe93l/oWE\njHyeyL0Zr8f4Pt1qhYBDL4nvRGnsYAAUCwYssNts/OnVXlthM0YlmmgaCfJy\n/dbO+vzMcFwaXNi8ygHr4pTnwLNeR+r1ZkdMQV6X85BcUvLSGO0b+h4adD3r\nzC/TKuuABVZgewX9Q3OmRXsvXVsFc9JcOelRjsGPdlTrU8q7CcYPrbe9KPZK\nfFxi\r\n=nZMD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMD5zIIGDxTysZFxmjShXLuP47QP1j7v5q180wgNnyOwIhAMePcvsVSZaMcVopOoqBiAdclbQMwOKZgDyzwI49BLxw"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.83f561e9_1571673337109_0.5089344027553386"},"_hasShrinkwrap":false},"0.0.0-canary.e5078f10":{"name":"react-wai-accordion","version":"0.0.0-canary.e5078f10","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.1","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"e5078f100eeb7869c6a95728a99d782811dfccfc","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.e5078f10","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-3s4uooE0QBMySgRWLMW0DYobH0ln3bYvaxHteVAsbbV+7N9MVs9uai5CdwunjLhUBFbSfONMP3eCV8wOk+KR0w==","shasum":"7b47d803abe025b2ca962d00be77900e7c8aaa05","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.e5078f10.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrz1yCRA9TVsSAnZWagAAYVsQAIoEdbMEOszXC/v8SKih\nlPmEXPWZWjnJnAZqtZyi89+ipKqFx2mTfoaDaQ7KWwmeh+uLAzxYPtfT+6pu\neKUH3qWWMbh1slOSanoDuTzH3TNk/W2q7xcFAlW6ZZ8beuJ1jGHcqwcfMLms\nPdPmTcaymknqqgq1MDLkIbs2Y195ljg6K3DDU7az5UWe8XQWGAI8C6Ex+qnH\nq+r+gR6vYIXSEcn4R1Fs8w6CQ20JZCwwJ6psnyoBpuUEbxciRWE3y/vyAUDj\nL7PCyycqsBw8XMTt0jLLW+DK8QX3rcoYtxWvXT3qvUk0i6HrpifQPEk1doVQ\nI7oZ/pAVKfw/hjgmXiFERbinYtnk7qkdV4+NnLlEMeS/8tYvfdTvfDS+t226\nAPBPFwZnfmGAl1mAp43ZK/YYoKEUw1+FxsLYYnc/lIOsWgPs2HCnqG8n8gvt\nVoP6ojDkBH+KMkcDzYyrhJGqWGjH7ZXgbdkkIIrLFMCKhoYygPT9sJK1St8f\nGkyex/8x2G9Ff0H/AJkgr1sndO/1T5d74GSA85cprOFPEZkckMYtt1BNXeVu\ncpVFvijeujAzcJOUIXJjuSlkh+alhsVMDhSgrWcJYNDAMuLuXCc92JE1vRr/\nIOhGNoIN0ywu5eaU04+p0Fs5gftcvdemBPVqnu3eLJYMUU66yyXk1tPfD03h\nmk+a\r\n=OxbX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD819AfueFZjNyzOI88tgAw8toWTSpd9M1sEx/jS8oB5gIgKYq7cIBtYiAeEIik3vSivC0tpHM4mMBBYeyD3ofMuj0="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.e5078f10_1571765618304_0.13657881208671308"},"_hasShrinkwrap":false},"0.0.0-canary.1de61113":{"name":"react-wai-accordion","version":"0.0.0-canary.1de61113","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.2","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"1de61113fa02f1870d51961eb30c0fa017614999","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.1de61113","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-YUYfOuC9xwCTGV9xHeJANi9hdLmrQDjM5+4rbNcOnyUBYVMnVsIsVFboqlgGNu0gsb1nAxw0pWcoZhKpUqBiiw==","shasum":"956ea0d6fc1e2e32fa3de8ba37322f379eb129cc","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.1de61113.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrz2SCRA9TVsSAnZWagAA05cP/iHrebIN0Te8B1UAie4t\niEFnDi+L0sZwI3cpkxHAFFdfDvJygXaO8cg38s2PVg9WAJV7LgPYms1Zh3Rb\nijDQyGMtUgRKY5SSwU99wn53I5BW6xxwEGy8nSjS2/JwY6YH+wTnmQm9e73O\njL28VLbLxvvBIxSjqo71DzcfTTG7bhKRbuRiVnMoyzVvGW9GCv2oro95vdxM\nmIk7yW22vd/lj8mZuZbrenML1X2T9DtNFhCtWFkyuhVv+Yp/F2Mze7Sxxy6e\ngxJ3vnQoWOW17Jei7azSDj61Vv3RY/xf9JrN9Lik1hgv88Z4QA0M+83T5BHf\nhR4sUjryxP53Uqv5e2eiR1YRV4rxXoRFRx3NiibQ42L+p3h5wwxDV/AoK1uT\ndN8JQnxx0SKxE1Fm0ByJ09r+C96ctsMCFVw1dgNQPqsh6MwPtXuHYb3Ejy9o\nWkK8XEyFh9HlRW78pLQ4ndH10joIaofeb+VGhCsWdey7vpWzRxwLREYRdbo7\nCQmLWi9S0wmbHi10GFfLCXLOgEVRBEvqrxemHFbZst/xoR6wmQIQpQ64OW7a\nHzbZrj/O+Q/YuJ6zbrfLjUIeXasFCoh4yCRf3caXb/d/fT6FJzzfL4/x9Qjw\nA5dqyKQASZaRkDRuY7zC7gNr2seS8LBFnJ8giPIDKBrerX8FspNaO7YMvS1i\n9D9E\r\n=ZV87\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJ073f2uZQ9h2FWXuA1XBhcwY0aALaxuRqpd3PChZWeAIgY4+K9ujqnw6DrAogKr/y/nq00oRt94dMA6lCVcFdjbA="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.1de61113_1571765650076_0.6989461241194652"},"_hasShrinkwrap":false},"0.0.0-canary.7b9ae6f8":{"name":"react-wai-accordion","version":"0.0.0-canary.7b9ae6f8","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.2","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"7b9ae6f8451240ad26556deebb37a9664bfc0383","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.7b9ae6f8","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-dppErBfhQVe/Ax+WC278/CmJPyNmj1PfFIjOWsNHCN+hN7bJFdx8x+aeQcgjkorz7Ol8CmYfLj2ufrY59yXIpQ==","shasum":"876597ae4b84de119b35dbeadd6c8e00e7452399","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.7b9ae6f8.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtwBzCRA9TVsSAnZWagAAQI4QAIHByntUU0K4kErXBf0Y\nGqwwJQ9jq018YeyGysAA2YClatLv0PrvktQsvw+KrTRPKXLNB1KZoXD4VW6L\nXlCFTYR/ZbCJB3iPOlY75tB2TcAgt8rjgeb6reVkNEwi24Is5kogeomRzvkT\nCFeb/3OGSjbqeJvwCykNh3VXfyoaHVNtNut8NkNHlvA3pBqauqI1XvfGxwZy\nhk0viSr2/7MhqqGdELSnr/H+YIlEQgXX0cp+x7IVyeRe8oDOJOSXidWNrPqr\ntvWDdXwAFNNNUHiARdHbbjolY68qyb5MzSFpVFeXSYwCyAm6t2ZPUghcLqTU\nSyv7SrIz2eTOp6fU5Wwpa3KsEA0NOmEHvh/jsDlPRG+qSeRAW7uPmkqdHTFm\nWQhWEcEhD4TgJcXgeXSyMtmiTg7pfiEdCCS2Qe6SVB0M7BS+FlKAlrQjoM03\nxJE9ghwJLR4zgMFbXp1tToIOOM0OvtFkEwOfgBY7b9h1H9uG/OPGUFVmGDdy\njE0/LPli1j0ZP1j8eysfSBJ7mZvEeiXIzIsjsYjq+wixZ6pYOquk5rGLAZIV\nM7uKy8Xq9pw91QNSoz12UK0/i0dNMZsM3jICsLd3R9j58hAOT6Ey8LhsBx9F\nXHSghGov+Ak8zj+tBxZOHf4h9rhSRzsOUUnosPTqrsFnAQi/bi46GdYWNe0Z\nRBih\r\n=LBvX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBoMPWssEqTXykUymhp7ef3p02RzBvo1DaBD/0fUMxw8AiBwWB2e8G3dChBMgCCaaQP6kjsD8yJksgVl9gfAgSFSXA=="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.7b9ae6f8_1572274290815_0.9503780318044963"},"_hasShrinkwrap":false},"0.0.0-canary.b8c418b0":{"name":"react-wai-accordion","version":"0.0.0-canary.b8c418b0","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.3","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"b8c418b022a510c054fad222a9aae9a692589eb4","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.b8c418b0","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-p6L8vNdZNidpdocBud1ip4klHP3DKNcpPfkub2kFJ0puWP18ycIsxijpP3jiJEerkYH7q3++awSQHipzR1hP1w==","shasum":"650290317bfee7ac0f620a248fde7d5789aaa6d0","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.b8c418b0.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtwCOCRA9TVsSAnZWagAAXxkP/AzI71LjZPOZJxtgXWdF\nZDM1K2H0Ezs6tCDwNro7Sxyvzh3rAdzbzaUh2s4NXiVV8+P3qZq+0G7EcW4g\n8Vnd3y5webrb3wGYbJlh3ZYpVXe1krqrWMquBkz8B/FfM+k1ni4R41tugLT5\noqd/MH6Alv5d7BFs2Uyqq47Y5jmapu66pkaPBbwDGvRK0RgDwAGNgY6GHYQ5\nM6+EEbjsLnbgDjpI/iIPb5C4V5k6GzOjUhfz4oitHi6CduLP0OtMSRuiw3FJ\ng2sbX9f/esRl/J/tWzCTt/lSnd8udX0M4/YawviM5W9OuOQNg8a8gSU2JUZc\ncaBt1rJWdjBDjMkZqbnhT93rtFdQbt5QKk421D6vJkiug6xOlwh3iBvq/6Km\nqlC+X/uijtMoRj5IhwVZ1PcrO7Ki6NxK7xUeD+e55umCYr7R6JNjFJIogU3N\nemL/YqE1TuZFM613+B/y2iIuqjLEqK+aA3drbkmeaW3EtVS6hD1Wm8wHl890\n5vkcWfnPKcp2W2Z85hw2N5fDtIuZZHMtgtI7VYoOf0qwiR12Urz/WzrNY1yX\nXaQl8bIQDWL+NfTMBgkaQFlYsly7lKD/M5x4ANgHOLXOsuNdPRVmgSfNmnkP\ni4YkdNVDr12WpTe0mRbLcNaK1F37OSf2V3xxCV3JR0Mg4OvR8YoUK/mC7Wni\n3cuU\r\n=EM5Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdSLUpZoC4GRdcU48tSVG/JXu5BzTV9f46Z3YBivXmZAIhAKlBdsHb/BDHWaIwjDapn5cxurTkTnwArU3ZycWATKN1"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.b8c418b0_1572274318112_0.825393504063918"},"_hasShrinkwrap":false},"0.0.0-canary.9cc39f6d":{"name":"react-wai-accordion","version":"0.0.0-canary.9cc39f6d","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.10.2","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"9cc39f6dc946ae838ca3fda37de311f6b23392c4","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.9cc39f6d","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-usTbpvpb3LOOlDH/nxceD0E6af2n46wrZ1bDj1jLfeeQQOgq7UowmPH8FSiuSm9OWOTVAO+qnaO2VDXdRLEIfg==","shasum":"6372e8f8518ca2ecc837b8a02109d46318d166b2","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.9cc39f6d.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtwCfCRA9TVsSAnZWagAATUcQAKLkRTGEtG8E9IlETbWb\nnU1UPhiw0ilRqKiJ134pHxUO8NwYy/zNOytIigXymHkEkCp9Urk03QxiQxE5\nwVKzvwSUWW5dEVp3TVQSBd+TP1DI03Tnfmm8iOwcFDwk+2KWa+Do8ZhB0itN\n1TprqbjRQTuPkSsKFE0dg+DzxaLSD82rCJFzTKmsbejvHHu8BV/5lH5i6U44\nqMnUbV5WCzfhxRb0nCQm3WKCangtvDVl7rfhCRIzIptCAKZ39RQl4nVqjfEA\nn/0Sn20wjmOzOTZpgB4oUV9G2WvNYIREC8Q57053DdUZT4TWBTcXcZ6ByT3f\ndJcErO9az1jLg/JXVsvreDkgiBSLQ0zjhfWAUdonIS/U2SM22OVM22uq7M3b\n5u+hU3Yzg19kEK+ti7hpQhIkZpXTmGj14KQvnUW7Zy/9+gtKb1BSGxmBLM8O\nkFifdfi7a7M0i+AMKTvKsLTi6Nemn9bHIiqPEhObgkvntrxJJVc5gTGk0M9V\nAqiPxp2Xm+coDgFb6Wma6diXX9TirP02wakPzXQs/1UH6QZ0IP5RY5j0c+C2\nJwyEXmWkgR9JOjD9nrfvHFnIoINsdugsIIdWIkeMuCm2y3gKZuXSpE747jIC\ntj2eCHsBPzmwNau1OD2KiKNZW9Rpbr5T/g5WFMJZLNEx0kVXq3f1OKSR56Of\n9s1V\r\n=XiMX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuD/6Bu50CmMadVav1zsldqfMSU7ade0eB2mhF+V4xsQIhAM7PDJqDS+tmM2YpeSN6pNC1OJOf+zJNvCqhymjOn33Q"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.9cc39f6d_1572274334710_0.38845742973204644"},"_hasShrinkwrap":false},"0.0.0-canary.016d3275":{"name":"react-wai-accordion","version":"0.0.0-canary.016d3275","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.9","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"016d3275d0dee2eec28ab557dffcb1f8f57fa5f6","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.016d3275","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-aLCzQhcch0Jj0Vi4O+LoNFXFXV95NC+gpujweEGK6EjNhbGSIyoWF4ocu+Z0rLjtJUiMTHm23H7Fk6BEV4fTCw==","shasum":"6f7fb66ab54d1b15bbe4dc51d67d4370da30d866","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.016d3275.tgz","fileCount":44,"unpackedSize":60993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtwC6CRA9TVsSAnZWagAA+YQP/jjI8S6i14fgSUdvVCy7\nm5Il40qTppLEDLOCB7wJAX1Lc8Nf/B/8RAlPfISPqKIGQpILkFYC8n5Uvpk4\ns35srnrEInJqInyVX4zVDeaNIRUO2RKqHfS4J3mJ/7EGd4roDNx1t9/R08TV\nRE3EQJcjIew7Dweuw1vyXUz6I7rte5ZfTsUF4McIbzRxXpWgKJ7w0zIqUHXi\neGZnMyL0CIB4SR+HUnPRf3kAB5tS2mkbkjev7xA9OgDh4mmV2LeCbecBTa9h\nvbnbeo4odYMoQqkW3Mxv5cD4aC1vpdviTHtwmsOrLknxfOZ1yEygshwr34GS\nL8unrbdcgoy36ZveXbdHL4woK3DpZw+G4G0U/dOkJMngqHvxQ6hqt34pKdIG\nTAUGlNx9L+tX8p/wIzm0YZu8jPvh92ttYmOgW2f9IOMnPCXLte9Iag75AQsg\nHRDyeYY5MYEBBQLg3Na0p4ypH2cEWMel6jrQXoBemVIPEOo8b+3vkytlAMw8\nkL+p2JZTXVEDL1acp88N/DAlPoJxz93qUAUDwfs8cErt8JiAAYvVmnJ0nvox\nu8XFR2AUeqGQ9QBOap5pAfz3xsR6VwTIONUsFlMHsg0EhtS6eL71kLdfB2Zb\nfOjuXNZjQCpbwHK3wB4CMxbGsAlgqEDetYRENaRyzUTy3MHKvbJxjeJcd8aJ\nkuKU\r\n=ZW8P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDiqzD1CkmYTJOCX+IUDeGGVrIShwFBBKZ9ZaAS7gQnlAiEApzuN/XyRZS+CUZ28dttbj8mcl3F1s/sOU0cO3Ae+xDs="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.016d3275_1572274361506_0.5587742685707768"},"_hasShrinkwrap":false},"0.0.0-canary.83f1f33b":{"name":"react-wai-accordion","version":"0.0.0-canary.83f1f33b","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.10.2","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"83f1f33bd467b98658d43cf230d9cb4473a666e2","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.83f1f33b","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-aQf3xDWox+CHQYLSFMKQTak6Ph9hkbeF+PD+OyOXlAhhv5RrYVJdkTNTlxi6yQR/NqvdOsv4zB9OdGVQ9zRYHw==","shasum":"7e9fa40daf28d16c0a62dcd22be7107a345ac8c7","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.83f1f33b.tgz","fileCount":44,"unpackedSize":60994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtwOfCRA9TVsSAnZWagAAVusP/2nRYNbrGG33YpynXiC1\nBBhOAIcmVhMcGv7CNMo8lqlAqUSHh3brrDbjEzC8ujB13OmPcp5L64b5292e\nKFoIWf3qS8HQr4iyBFJo/H6cCB7WiXWw+MRsROUb6HF/ePSzjgJNv9dpA5Ew\ngrEfqQKf6qdV9oHuTdrfFCF+lQnRCbzuxyZXpffWyE/ArXXarkvOSZSBb/vH\nYrRXcqyXM6Vtv5haqVdSerPKiRkgeIWR2TKZ9AZzCWOC7cZOiVxCsgK55cvU\n6svk4sOuAxCIfq2VC4zLYQe+/QeSVW9WvmaXa+X9duWQaCpyAxHvjLEajnmj\nEEx/yR8hvSfz50WlqHvNnTwuxVrh93A4UmwifYo87hQ+P1mBMvmnAnbs0Lxe\nz6XiNIyNEAGbvMxcPZX8ca6S8uaK8zIMmSUZHi+d3KElfc6jvkSfonWWtC3b\nJpnieM2C3NZj6JiXrH552BW9SQqB/2zaWN+mLFnBJMYminhlz3V1Df27+rJk\nUZEkJfXhtwxX3VctPVhsd90jRe74vPi35ruoiVez3oFsBaoh2g0DANI0dOhh\n5xJuKFlTGUaoQW0vT2Kr9juZphkYAkQmNw+9BWBDosw5jvlxDtlkVEPIuxBl\nIzrKho5LnCvj2bFyBx1JAvTVrriuCBo/nTVGCy4zJmbgjO7jTUvarpCplqrE\n0Pqt\r\n=CASa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCT+lZWUDA8OIn1T+VyX2v+W1FbtZTDIUzcYl7BqeJIOgIgBiPg/dZKSms75xPYaxfRvAzs/5HNA1qZfzeEoEPSrG4="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.83f1f33b_1572275102594_0.14389749489494608"},"_hasShrinkwrap":false},"0.0.0-canary.5dfbba19":{"name":"react-wai-accordion","version":"0.0.0-canary.5dfbba19","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"5dfbba1966aac40079bb3441e40b1a274bacc036","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.5dfbba19","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-ip8szRxccXyuRylYp3WXI33fzFSToGtg7nUaSBKsygCU7m2N63bnvCa4nARX41SEO3PzMwkO1qPiMz9WS4FesA==","shasum":"9b25835d1217b0139045502cc216be1c0829c758","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.5dfbba19.tgz","fileCount":44,"unpackedSize":60994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtwWRCRA9TVsSAnZWagAAiCQP/082eJ0rUCgjwmjc3zXw\ng4ONUkR+4h9yjUgDqxtx5q644TzVXWCino914YtQRHPv0kmVZJ9spEiVvUQs\nJaMGfFemBXxvrYtBWbIt+doy73POUU/vc6tGJVUFAaMgXO8ByJ2bxetmAcEc\nRkjI4hTg4MjUM3nIR1rac062MSCcf+ZViMFWgATKSiMukP2FY2ncCrXzVqEj\nbFEgVq0We2F5f6y55v69oomCAWgm49DCSnjUiZPdTuuDJOyi2FeyXbQKJmQn\njZQfxBCGbzUMndxtNYGfPxhEB2RvM0qclCKH9f39o+yeQI5JDZRj0mq8bL2y\nEfiaah2zfFnaviwqehdDISutlOgfPUmjlO11+3rMtToD5c1rZ8DFIVzCOGW9\nhwz1qV0L9dgUk+rEW4XyBYENimTXVEmMZgWDpMcJOlvOM1yUxgnwGOo4SOHj\nfud5Fmxn8mnEKinLK1Rt9W+7khttnISNAP1COKpUZDqHukeuHw1uWaQvnBgN\nriiU0zdJ/DZo7HhLORnGYQFJPH+xeWTMUrb/Qu66Pf0kSW3koRxavOA7AyL4\ncjsqZnDyFk5o0QIv1XZ+7SeddpO0l1mMBO6aMIoz6DyK349wW277ESHZKB4S\nTFHpADcdRBbpKPcfkvxsaJ7Fs+aCv19/K7u6svbuLwgazqjh58mxkBrhFABj\nnTKH\r\n=FEJ+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTiUqvMeKz+2qeKyxiENnFM/sBTgOVqOy6nXWKgCHbEAIhANpQB/iyRO7yqJI3/PpQEXL6061VY2PtU887rUK1imaZ"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.5dfbba19_1572275601450_0.8285542173534715"},"_hasShrinkwrap":false},"0.0.0-canary.1450aa13":{"name":"react-wai-accordion","version":"0.0.0-canary.1450aa13","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"1450aa138c1141697127afc213ed6a7eaa92e7d7","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.1450aa13","_nodeVersion":"10.18.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-njwPxO0R72GqOr2vU4WJUEAEAVrcghQSOhToONxOV3CplbHXaOl20OumdbE3SI9eylNLNGSzimNVJ6TAzLgppA==","shasum":"b763b44236a008c052d5548d79cf64075e4ad434","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.1450aa13.tgz","fileCount":44,"unpackedSize":60994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHK04CRA9TVsSAnZWagAArW8QAKCXF8OVppub5jedBLzT\nxkhmugjl5U5bem9Ac7r1zA6q88dMVgLiAJfnbTvLo24p+/ig7A7+EOlhKKln\n4xjlt7KvGSyXc9mxXplGqI4taUYRmy0b0DDGn1nFHNe2VT9WRg+8Az37vqia\nthz5QUgssHEUstEYmbHFn5LVXCvq+BoJ2Pbkjh4c5OBOm5fEuV0yCoDVfBNt\npuzPS3N1YRAxtIdBd6xy7mAOgt+n0IxM4UY2frI4tsG+vb3+wKbSJjtNsD1j\nqchizBHLyGZ2LILibKujFs/tMK+G7ztM9Yn0DcFCCHu0udNOW6oDIkbH0QWO\nm9N1IHI3Jza6PDjOa3nHsEfI663Wc+8jY268sNC5Tds+TWBYD2Lo/M1oHfcb\nbehyuOsr7iP+oxy5qmslOa8b7ucA5KnI44KBjeGNYnsYIW7Yy94gCI6qk46b\nb8gdMAgnyoyBG9raRtdNfVK4rMuMEwwG19KHt7tzHESjcwTbyjF9Yyrjsse1\nejPYr2v6tA6AU1N0tl0OxGGW7hwZTL7VI/NPzDYbR/EIlxKVdlGhnQZmebyS\niA1kx+RXV9UE5fAeoSq+uuBOMqJO+vP0HV7GoOOalMtPyF1YhTwhohqjYdaA\nA1uOdzVuUyx0j6+4CKP4GQSty7gfwUy/aWq5DQSf3IpLJtZtyK0tAsj32oF9\nNW0A\r\n=b+Gk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvRKflbo/zMEW4AGIc/XKdPLjgB6BfANqLmxb1JNkOAQIgaJEYTy+yXw4/c+EF40MrNg49yDBwNtQiXAGaMeSOTk4="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.1450aa13_1578937655946_0.8449407763787251"},"_hasShrinkwrap":false},"0.0.0-canary.e0137bb3":{"name":"react-wai-accordion","version":"0.0.0-canary.e0137bb3","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"e0137bb3532725426822b0e49408126c715952d0","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.e0137bb3","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-4ZE7F7xfwZq20y/QKCiX0Lt46K7NYndg6u468ZIlYSEGahXQze/U2Ddwqf2Hw7WKVUn2HV+a6C0d6O2ZCcua5g==","shasum":"3bebfdf9d477e6256555cf0d7b8c861459dbac72","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.e0137bb3.tgz","fileCount":44,"unpackedSize":60994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMxOECRA9TVsSAnZWagAAUAgP/RpfhG4xzm7NA+y3/tiQ\neHIN1Vr1I6EtMyRpp5M4/fH8McUQmRNiLhsdDO9LZnKxriohle/gssij/lNH\nYI3rBYohSGY9LrSsYuRg2yt5Vx3ByLDdrp/v1Cg5+++56iKI0wONqf/esDxL\nPFebVXPGI0y+M2aUBgIAio8IqQwhu8U8+IfhzDyz+tTkuqkRmi8r/VGWdFCz\nNPqYSlSPdO0ljVduZ0Bg7RkY3uRCpM5t04fcb2hdUjWMdGJrdzQKX32iiENT\n2+qYG5CgrlrS4BRk+M0OskD5vQcj6CMgYgrHHyuR9iUIRL9vMQGaHIznIt/I\n4ZQ0yvXmEaYQttguVqaCRZXJ/bdg68lWWkFAwj4fDiEefxnl74K5g6/l/obw\niMZlH3YlQdK2bKIycYG5ob1FbZDQsWbyA0IzQtfzSmi9K9mKUIBVklWetxpw\nIv5fkpzyg+kY4ROCMsxMdnynMos/kofUv+5Uj5wqpC8yk4NF81U+PGRrTE/8\nEiD5sDoy4J9sJ1dyVDf9CPm98Vv2A17B3xuTOJPH9s45RGlVJZVcNzfCOebe\nM1ui+9xFntx9vFr1p2YYnhBhe7yQtudFMmnkPYnVLhl2ZQ7Cf5LbIA//7mqh\nq/lw4PAudz4UyNmFEBpXV0GiB+U05IO9bNsLlQErSwaJ/q9Rd1Amq9LEJvPi\nE0Ij\r\n=j00Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICl2qLecEHexOiIMlNTpTL8Hl+F4/1oJbyv1ZcCoX4csAiEAylFFy97/TASuclwsYRqcXy9MGyaTnJ6kRhQB8CT9Z54="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.e0137bb3_1580405635475_0.18847865277731302"},"_hasShrinkwrap":false},"0.0.0-canary.a6f5d6bd":{"name":"react-wai-accordion","version":"0.0.0-canary.a6f5d6bd","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"a6f5d6bd12c8e77b5be0d99f83548736d223134a","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.a6f5d6bd","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-zHx1h4+xsxiwrMvUn0ZMVShdM/vi4/fRdJjyJJELT10krJrpvOV7rvMuV53coB3/iOdtdNYf62aX7C/VHRbk8w==","shasum":"7fdbfffd25d9811f7693398fe5d6174ec5b1950c","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.a6f5d6bd.tgz","fileCount":44,"unpackedSize":60994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecN5DCRA9TVsSAnZWagAAlngQAIQUK7D5mT/jSDClwrSs\n5CzdugIcXbD4gCm7JNV+xxquw/PNsUQP80RuW9gXiI/k3dQ4XFT2CLAqbBmW\nCH5IewiAX3oWJbmZo5HvwZ63yH7tCpEvYzrZ9qnLmBu+O9uSZCLva9rhajpl\n2Qhl1zhC3FzazVM46fRdEEmLYe4dihsrxFkfomo61gCf1TumlcX+GSx1ISWs\n8W+H5KW1muhHLzVGlLYphmvtVPZPEtzMh7MXvWhrLkI5P4kcgPL3SFmTa/Y8\ncSa1mfhpGQ8D/Uhn5cRui32XXTIJLK2hbTBKguBXjkrjXN8t+NEMq15ZpUx3\nM2Hx76tDNZZidX1Wy+d/oSMHwIrEInkubq3NIpqo8GuM0+Usds9NYyYnw7EV\noacU5BGR8dQKlRntItvLau7cE4W1IAXj1B/JJeudTElHanYqXsgWEucAPwNK\nhonlLULN6zT6HRt12GTK6F8Msr62JTMKmTOdBlAuWK5X/9uR04IhGnibKNhQ\n6b58eHqNkWvhTp9Nwl8Vubtph46sXi50FaQCptsuXueiDN0N0zHGVk5hBwHj\nJai/Ihuz6RLTSRG2Z/AZ3T/5r4wowoK1OoLA9l/yltjG1SHWOopJF/lu2VlW\nZCnonXT5AcSH+TRHMt9fRrxi3qCN5ClMv2kKZfNAphMKVlAiWN3uknshtkBh\n+Siu\r\n=sM6Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFcyjzNb++EBy6BLNxuk/iWNc66xJQDkjLZnmnQQO/jWAiEAvKCLuahYFd4aUrb07jdyW3nGuNt7r5yD5BozbyRXNM8="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.a6f5d6bd_1584455234560_0.028911930759875304"},"_hasShrinkwrap":false},"0.0.0-canary.1613f2fc":{"name":"react-wai-accordion","version":"0.0.0-canary.1613f2fc","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"1613f2fc368a89f3554dbb3a297d23a21de902b6","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.1613f2fc","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-aTCeGUtAbrKQoFJ3LaEhs4EUufNU2oMZmJ19jAefnhclalnLCGCZnClcybO6nzcz4WEOAHmE1+O1jKVs36MY3A==","shasum":"f4828156f55a0da27a048112cbe1a89dc596f3bd","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.1613f2fc.tgz","fileCount":44,"unpackedSize":60995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez78nCRA9TVsSAnZWagAAfm0P/jWLJQv2RKKxVOp44f6r\nWXSxdfII2obXdhgmBgDCVqFIgno75yJRNFVyzi1UZRN6OSGigLQdPVPgY9Pk\nohz7En9RKjhsUpA2oBGoX7zXuxbirEJp0QMsRsMRtgpAtvdCqN1+ExTLwmBG\nqzbwLULEujP7ttRxcWfJI3EDP6goNfOMVjy90C0ToDQYO+eUXDD6um447J67\n9GJSbfLxur0uX1YAIw7ywOVycpzTkXdOUwyM6pKazGKtptmkTbIxtM8g0kBS\nod5rAsP1lf+xrdWZuHhuNk6sqLDZLr2PggQ+Ulv+y5WMHw+CI5oS0RAt3cQO\nQUBKHQCXXzwRZnRmw3NAkIn2Fvqow/h9FXoRl0TDwff/gqhTuAZLe4ZJOUTf\nU20+CcnRbPYCcnp1o0Lkr5VBat1ZHvESemWlO8RoXOr5ZbeUPPX8/sPhvGHl\n7iXbcv5UsJSaa5sFS26XiNcibvdV3y8XUkDYhCqCCWKaAd7UOdP0oIiqp1AS\nQ+ZlWnE1xB4rdq/9BsgVYml5BNKWyGSjwx52Agjd+Ae6fzkoKtr7mayEuGKD\nRrh7BEziry2oPQirhtfOjAanH3MhKwrAXAI06UZqJeM4uGc4t2X1ebxvzxZu\nliy9rMgTZueekvzR5R89/c15BP9EcIaxiuFiNxOnwPat1myrWo7Kph+DH8tw\nkbxu\r\n=RKNs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1iFFF/eMPhYYLTpX1/O7PrLFqPREdecVThbcxedjCegIhAMsb/Q3qBXwCYuQTEVvyYNi91J2qcLG/5UM4RFMwEJHn"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.1613f2fc_1590673191237_0.9020168966278486"},"_hasShrinkwrap":false},"0.0.0-canary.d392cac3":{"name":"react-wai-accordion","version":"0.0.0-canary.d392cac3","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"d392cac3046be09f95a58087ff2b79d298521418","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.d392cac3","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-OXHCxMnSDr0crTXqNo3QlxSRmXXnHPLj2cv0NuM2dXt1WLJ1Fhq0OrZecGCNqIHfkYC2L1euXjJuqk6Z/3uvSA==","shasum":"9b8dc8f088d5dd3fb2a6399150d421d612a0f942","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.d392cac3.tgz","fileCount":44,"unpackedSize":60995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEL+cCRA9TVsSAnZWagAAJi4P/3GU5NTiAVaAcgb1IvCX\nX4hPAmpo0WVXI7fF9ph5YdvAk7ielMjH9kvlZwi3gZ/CYX7lqTHUqeFY8di2\nXUDG3fhYLwUZDx2PdvNtaxc4ytHMQANf/6OT87h9IvH+SbwXOntV59qd/oJL\nJug9OWBigtYdrMgp4KxWsglaKYRBy3tGt3EBr70wKS0Rq3MuyFG31H6Zp4al\n5nHHH1V4Gd3GbpcCtCDEkrcSp2NlIag9sqH1QajhldhrX9NHeC+SZQBLfR48\nHsQg+A/MX7dzg6mTU/tWJwQRTyR9IZFzP8DAO9iSlNcMiLeYdE4LzH3/JI0M\nK7ADQVfC79Iq0qO/o7NFUsK1BkuD4Ylk4/NUeW8nuv0wQikKpEkaUFuDvpN8\n2uDdtGldUbjFPx9odrhTRFFsepZ89Gt/9SrHYjNYWOL9808AXsUhep05Rpcg\nOAqetg1hNzvSRWDHow7o3qL4L4iKtH205f13l7lgAccXI90jcgr7hGPqPkrg\nSsybBcJ7kroK6eepE84Z7e/mOBjfqWrOC+Ob5y9S/rE4xKSBYmb9y/eA5p5d\nQLSxw0W1IncVQHszZWM0lX852JJKEUfqr56TJ5kYKqiQYcNB0l984DOTSpmb\nV3kGQkcdSZciPT3GMYvUmojBIYSVgMu/TjdFktScFzG/BnKHcPlAPp53RZSr\nzfBG\r\n=oEra\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFvaPpnOXtB97Y+e70vFUVVuvEqStdXr3d6QaAJpuI2gIhAM1YmUjwf7ic7R59CbvcDWBPGKz4o6ymFwvR0X+uc55d"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.d392cac3_1594933148291_0.7040605854245949"},"_hasShrinkwrap":false},"0.0.0-canary.545b2a38":{"name":"react-wai-accordion","version":"0.0.0-canary.545b2a38","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"545b2a3853bca0dc6fd6b64ca307ae5a86d93ca8","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.545b2a38","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-/l6Kbrxd1u8VAJxQHT4qbTuCw0D+7o3n0yHMIB0c/UycojnuCLxLsbN6a4zqAg/ECSLk4wPjN0spvwDQp4jDHA==","shasum":"cd25c16ae806634f67172bfc0b50e3a3b4d2839e","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.545b2a38.tgz","fileCount":44,"unpackedSize":60995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIe/fCRA9TVsSAnZWagAApqkP/jRwIy23nGLQRSKdtwEh\nqO5vtQGjfrrdPcJsE4mpz31rgEJi8QdsErMrEo510UNq3FczzI7xx96Rouvk\nmwwHpT46ZERL8f4e9h01a7gMhZiAP5uPPXt8GuYxxhD79QrEEtQgBFiqUznt\nYuVzCOmNaCEjJ3VZ09hHfH5dQbBU5MfGcfBnS/JH+OShih+a/r/0e/iw4gZm\nFZcWYkDGIy6TqKPC+RPyjhuRDMQuCaBg05vqX/h9c0jD9/qbi6O4eop5sRnR\nC50enTwpzmBvtKNSa3RbAOM0TTOHnhsHpU/RoNtwQQoPYV7qf+wMHHe72W2G\nb+ZIT+u7crb0kqfppNOImB8xFaeGUQtKdR2GOb2IEY3TNAHMR25wiBPoG3xO\nvKDv017bn1KK3BvG9J502RZw3jWWcb8TNRffIxFBAuuzv40pUhGJqbIM0vVT\nOQytmqDRKQzITaTJsfE1R01btfx6CCCQMqPZY1DMSgzMA5N/PBoTxZ3GBUK/\n7EyE1SsZXhrvLe13V5iFieY0+9vBCP3iOfOvSd0RypcnAekRVC3YyIpAN1Wh\nXxkHZcBnYpUxLTiAo6xvJ8Ei6bjRZm/w/g6zNKUU9bdHP6yEACA5z7PHD7Z2\nQdHhfrIJq9+z3NhZqJ12Zduii6hah+isvrjSOPhy0tOS2zpucjd9DNocsptV\nM7kC\r\n=Krwt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0WOH0QCPiWtpa+YC/pReuadcUjVRph/JplNuGfGSPAAiBiyaCqU506PQHWhAR/nA0kHqTIJLJryi1e6qsczlz1gA=="}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.545b2a38_1596059614386_0.6970781384935161"},"_hasShrinkwrap":false},"0.0.0-canary.7f98b26d":{"name":"react-wai-accordion","version":"0.0.0-canary.7f98b26d","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"7f98b26df14d273ce40e1ff8818753183513ad93","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.7f98b26d","_nodeVersion":"10.22.1","_npmVersion":"6.14.6","dist":{"integrity":"sha512-L1wZUEfnmMMYIbLWuT06Eckqf26baQrrWhnoUSU7lHJ733wbvF3v2jGHRqypiiKb/BE9/bUaYpDMfLQWdRoQ8Q==","shasum":"8c6390d8c3ede8ec9a1082571a11942053c33f74","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.7f98b26d.tgz","fileCount":44,"unpackedSize":60995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmeBQCRA9TVsSAnZWagAAQ8cP/3VHdKaqfFnCZRD9ryt6\nc59H6iSmVsBxsf0+C9FpH12zTMbPdxeYN4b7LP+yRhBZbymkYwKtSkvUQBli\nFbCn/Fji0YtP3O3dqenGCNQI27ZJUr4FqlmzA+y9qQ7tcUswRhP2e0JSctQu\n3lMsYJVyqwSknSYt8DfvWc0k4fkkHa+w3gi1J32dOHj14Bo5/XswGI/ILCQw\nXQ7VzkO6DurpFwJkdr49Ty5eiOAXCC0CGxb4+SESO1ulNymWOhxWSdCxG9ig\nYvFCqcSnfRNU1owmtK++g8C7mlKnOSB6+8SbcToPnXv2hhiUPNZEQl3rQA8L\nDjL3Fw8UI/hyLQ+AbCsmOW2qn5RA3Sdasc0CQV51XpnhR2HQ25GuYWjhkZAJ\nyYZ38Ngqfyf6zFK0T8H2KyG49mW9cKkgedjouJJjeMHoNl8Zdt6RG0t0gX+g\ntqD82zSG5a75XmQPbaLlICpIgTn0pCw0AnKeh0IVdzWDLNoLFgQnYAIKvm3u\nWv4DHQ8JAhK0I5Y7fPR7wZFXfe59lr/DGO/AjGxyQ2vGOY5bqxHzwMJZycEA\nA4kwW7+VgZjX2YSvcMOiyQpnUkwIvMgYo/yesEImqFxJDooiD2pikNPtfrhT\nEYj02l/J4wP3DlAUoB6rsxjl7+pDOuqQGbxh80mFKmedEB6bh61EwPWCSP1K\nJLjj\r\n=zPKI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBEI5XaNSW69IARft303tny/OEC/z+W+7LC5/tj3aBFgIhAOwIW85BXKXCOiUUTj5JeveUMK3DMTNuW83I+Fys+XHh"}]},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.7f98b26d_1603919951894_0.31867385474991505"},"_hasShrinkwrap":false},"0.0.0-canary.c3896209":{"name":"react-wai-accordion","version":"0.0.0-canary.c3896209","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"c3896209393ea0e0368192cc8acfe085d97d54f0","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.c3896209","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-lM+BJk5yNxarJWsGSdV4r0hYWnb+uw57YwhyPqplLOgsXSVKZWo3iHQ2RbaGabbBI1C6y3+UC2p/ZKcQ/i6uaw==","shasum":"5315a0ab0bdf0a2d31473db06a72dcde142ff817","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.c3896209.tgz","fileCount":44,"unpackedSize":61181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv+nVCRA9TVsSAnZWagAAGHoP/R45UmnwLbGx11LS7fC2\nSt5C4sb5P+UHOmvrIg6awwLDGkghsV7SmKEpbIUL5SmuHwv7WvQsVXy7LuhA\nbHU9JUjn4FSJDIY22VRsYpui7EvhvcjGpgYWD+qohLR+azL3e00daPdhIapC\n8DVhIYGVcJNIjr/YOT1uylM6KttCZGCzP/nPj+kqt/A883kvDNEcHxN9HWf+\nOqGVFlmIoF9ujsEEqegE/BQ9vuY7dGBQ+mGx/jp3vUUyQ1CcNrAWpLUNaAWJ\n9VdOcowFH7FQYVsHA0ek4CRYpL2JbKz+C8dpbtw3e9K7xEQeeS3eoHKU6URX\ngLLJ9vs9wtyelPQvf58p3xNm3D7knrzunwUv6YgFHuy9JznRXFIISrTsblRl\n+Aer/sqy4e0yonzNf5BOw1b/9Nwlm2VZXgLJwz8VwiGc/a/+rpncOYZXxXdU\nXBKeS0q64wLWu27mZ5k5z8Ug6kd9wqkhUg7v/KijWYl/VIWd8qtX6ppIyZKj\nSH79Azgc71DF8W3Mad7TnK4MfQyu0+bXRqCDDmKfaFaKBaFezUj2TwPELLfT\nlNaywSsD6w4ByUiww5mTwZsviaCbv75MCsAZJq76NZNU8J1rEMCUHtnp+Qbi\nI11qBjW0nAqicqCU+HTL0UOw6Iz73TAXOX4yCaEsLXu3/3m1nlFyCVFjfROe\nuYvE\r\n=3tqQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAvIjnZ2HebmIxesqh6q2yHzQO0SfueeeUMEUgf5bEfuAiBZWvCkvOV6+J8jsJPu6GTbdCt4sg7gNg8Po9FwxuRGbA=="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.c3896209_1606412756672_0.8109662411807224"},"_hasShrinkwrap":false},"0.0.0-canary.d5427453":{"name":"react-wai-accordion","version":"0.0.0-canary.d5427453","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"d5427453ffaa895d54eaa53e461d2f12d1b2b1f2","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.d5427453","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-S5/jvGyWEzctZudeR/nmurknHF5Ge3qY59oh/iaFNwLkt8AMWucvJip9vUCIA5U8afd2GI85n5geiOueP29FUw==","shasum":"7990962410e2a34704e15ab3088432b40250b0f3","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.d5427453.tgz","fileCount":44,"unpackedSize":61181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0nIyCRA9TVsSAnZWagAANhMP/3YeC3laZx7mGkhC8M8W\ns4qL1Hwx3x0N82h+JdWlLwuaG+tcc4JBdU3PTo+wNVL4x2caJV0eBFBHprW+\n9IUl/e7Irr72JLxNQ1RksbORjKuYXQi5g5EENaObK6nGtxtOJkC8aogZlpA3\n9l2MJetHgogtku4M4NbVW6etapSp7zj/f2mReZR404psptVa1rEx3YQ6falc\nnYY8HejQTwf8as3RKxGUuOeGBsfxECWkJxzuSfEchIGHQwIaWR0U8TXXv+I8\nJ6e4DJmzPHrt1zvAp7c0XkNnkM61ihOEnwXb0mQ2vqF4xj4ozKgWhxuBRg6P\nNJH2quSAbjTxLC7Xr0UgRoIIiIuXLm8T6fc+TfCDXDi+pg+6H94IZo8mXn1X\nXkeo6n3pqfhpJmsHGXSI+vG2kRrNamjSfzrpAXtvPiFhyWSrZ2aDLd8TUYPX\nrOEadSiOCYAd/n99QOVs+kJ2KPDDN2ZfH4rukuv2/pqbthu5bYWmHqErTC/J\nck2C+KTCaFqsvGocNuc+mWkih1LAdhPNLr4/zHXA3JU8JxyVRcmiQysfpJIb\nWtIPEEgWrY47bBBsNr3EUeYVznO8FfG6pXPUM2Gf7pbBLvc9sZo8FdgLHVPA\nGcTtrvzk2A6TPKH8IxhHg4nxWEXxxa89mhUJap1O5Yvf2YZeBbQFfTBt2KFE\nt/2d\r\n=Uvis\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN0dd7jekKncICHRcctvyymdx+bXF3l/lRcv1VILA+OwIgTYfLZY8LBFpN1230yObmEIvpreHoGfkZrqCLztOVUsw="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.d5427453_1607627312989_0.26546841530499643"},"_hasShrinkwrap":false},"0.0.0-canary.0e2361e6":{"name":"react-wai-accordion","version":"0.0.0-canary.0e2361e6","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"0e2361e6727afcc74689dd4340c3de780ed32aa2","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.0e2361e6","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-hmrsCRMC2/5hICA+6wBnx0N+Z+97SW+i1MJUKO4yA9BzYc1jNQZzIu/zL6yspSuTsZqDemhtwR3XxmqgQtz3TQ==","shasum":"9a8a786a8fa72c4df86ed20bad91a2b6efc06696","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.0e2361e6.tgz","fileCount":44,"unpackedSize":61181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRpn6CRA9TVsSAnZWagAAuOsP/27gRCS4p19tEpc7GdYy\nSh2CwNRluldPurXWFtMhFZZTebDr+2yflrJU7/4hLPbtNc53Opip3+YP3Hbj\nkNXXCKwsdkpJWGNHLzOpr8ZHT+J1qtOctSZS0T35Z/+Z66nZzcqFsnPfdoJX\nhFeApr/JgrC0jswpaOoaPp7aGuqWlWSLDrBrPHAA8M3/Yw7BscCBftJfG/fv\ntZjZAhMuJxcabHwwgKUnXjyu6hI6a4PRKOOSFmpJyR6X3QAaDZq5R0mFenOB\ncNDosGZ/9/A04qPjqp2UmOdKuNGQE7Hw5rbeoepdYaJvFTbe96KjGS0Vjb3W\n8d5kty6KGlbCebSUKr/cejjFTSbhK8V3eMuoPihVioajp2qw0kdhu/PM0UwT\nOFRh+yGBLPVCfGLIcS4WruBf8o+U0LRpFhT++WeZq6pPbOB+YXsw55RbzDph\nYj5koIb4ExxXhjvuLGw98tTO9WqyVx1i+sFe/erYup+R3wiH7MhEGG9pNW1S\nL+k6pKdpfIgq5UQwMfDAa8lM1l05hB2vtLXhUFdqGjEVh83txQlpjwU+Yr4A\nBrjXxN0XDq7+EQa8jYH/PrqaaDH4PLf9SXqh3mTybPFRRT1r2q7DUWBQdKiO\nFqkrONHhHYP7USjx6U5lSlDcwH851wEUdqqUTeQg+p7t1YirIIOHEdRaLfd6\niQby\r\n=zP9+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFT69pUqfrK4v6QjvpeDm9wWt5h6G25eqL3xGaOFrwWAAiEA/lee6wLzuyn9AguNAFK2RjBlDlphygnXP5jXqJa9Ag4="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.0e2361e6_1615239673130_0.713482024540149"},"_hasShrinkwrap":false},"0.0.0-canary.60aa10b8":{"name":"react-wai-accordion","version":"0.0.0-canary.60aa10b8","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"60aa10b80cace13c57d200f797c9dd1bf2d6c962","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.60aa10b8","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-NAe6TSWSCdwxoR0r+TxxW5aE1hvTCdByl26ky9CwSZkTOTsZdP6klmXd1FzHpK85oF+XQ2e7OegDCSo4C5UrPw==","shasum":"ff3b04cec415b9e450f26a1626097ebd4f9c2713","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.60aa10b8.tgz","fileCount":44,"unpackedSize":61181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYjpbCRA9TVsSAnZWagAAwB4P/05PCTC8HQSyE9BuI58g\naGOXxsKjAo9ZvUFFql2okF6Rqd3zihfP4PzNkoeSLI9yP9TSR9/9As5C9aKk\n2/m3pH24BOBRCmsQRHLh/Aydu7PTtwQuTk/MbDGrGx9mPPLVQbiLmWlNiQ3O\nSDQYLUv5ZQDXZ6+ieIgkMRKngEfCBCtqV+OgPpl6bALB/ZrAlpBk8dR1wswp\nOg1XKbgGj62D4LU2f6KO/QfDqBeQxXDEkuqFPzviQejKgeaAjyTbDaM+LemG\n7dgK9dhhNceCnHUYi3gIoKYSk1BN1bJP+YZV1v2ztwiqFPTk+dZ5i/0Op2W0\naOlZn4eDh6Y2zG+N/4MLK671QzANwD4BMzwyAfAg7LQwMsQ7CcVEz+MTlxFu\ntx/I/4oGWUftiZng/WXCrcfGK5aMmayHgkPQtj2DbrblHX7OHeB12R12cFNm\neyuMsUbIPSou3x6iiVAED/rHJLfDfFlk+3Ao5Lu2WwQteY3IEa7mTWYBul48\nsmVRcxubN0oqpU+5PN6Yn2QlX16zCkiddSjzCQFvNq3ZqiYK6I7sJPESZM7e\nZHqBNGcTjiK0zHRwZzuQ0YuVwQ8XCA3mBNgYc+FXnRA/1kZAZkv4AcKaKIgL\nDvb8eKS7QHcyqYCS8l47hZJQAasxk/071rVG03jasndH8gZXuuPoLX1uXUAg\nDvo2\r\n=rtlg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFXXdptC56Mpkvq0ikx09rUoUzJ5bp6uMlNYlt7rEZcsAiEAoQGckIfRsfH1deZ9JVRjOkhp1B4Cq69tgqaAKAfRLYc="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.60aa10b8_1617050202566_0.566015115282581"},"_hasShrinkwrap":false},"0.0.0-canary.6886834c":{"name":"react-wai-accordion","version":"0.0.0-canary.6886834c","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"tslint --project tsconfig.json 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","@types/sinon":"^7.5.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-plugin-prettier":"^2.0.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"6886834c990e9e2ea5e825022bd20328cc51f784","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.6886834c","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-UEuf5FD+E8W+yD4YDznb7QBF5Ivwra1KTBGdXwnY6nEFFn+NF7UwCIj5nv1dyzVtd4LmUps80pxABDoLEPHWVw==","shasum":"b6aebf65acfda630890a14c2f6cb4598d6b26172","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.6886834c.tgz","fileCount":44,"unpackedSize":61181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYkGrCRA9TVsSAnZWagAAyK0P/iE8g1dvLRgC2s0rVLDW\n8cwJfTDfsMbh32i/scq8Qa4oYDxPgR6aaZpmEKqCJKCgODfvXvveaIPc1J2o\nCraKghyGNcXrR7cRMj13hCh0HeIW9f5x+d/kmmeiXtK10EhrHt1ey+UXqyJx\nnM7+5U0Ou5Kuj9yjaAC4Hr8tI9YJtoIoihhNtGbixWQ4YmrzLUiNcf3x9HLe\nRFDtKj8GaVTux0SHl62dzOy5v/TB6U/0szhlrHv3zfFgHiDz/Cq+G9lHwp7t\nVpa5xD0LVVtjmmPO22goyrfFWQ1vRykSZIlmdE4tJJ7692RMd4x1e1Pcvj28\nj5Rbo4ztW5WQemm/xR2AmFh1hlENop1UWNbYvTwOrOPsgbhFiaI2rb2Uu2VU\nZStUFGlLHUrbVgccW2DV5eAQkgwYiYXxHJmslKnZv+yrhtf1We6DrYjdj73h\n+yvCOL1/szZRE26GsNIY2tGahz7qKvKVy+hGNw32MVLoiFdrRwImIwKKHzR/\n+nxawQ8emB3NQOECdK19JcZfsHrDy4M982i0FpZhrOg34mreo6YNpNPLnDr9\n57qXD9PMyR0dsgmCyAjuiei3Uquk3VTMURQATfGbkWAw79Xr+8LfpiLTlSlM\nSY5IAgWB5kAk8dmDlwOHS5V2w0/MAVCjD5imiMkfKWLqzlyA1s/f1AbrHeVC\nkrnV\r\n=xVBY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6J95IStlM9g/UbEywNUjTS5q0Zc5CCeRCIEoPHpNE1gIhAIBLO9ARz1rZDegtrZz3kOC+zryTNKS56/bzewU8sg7M"}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.6886834c_1617052074739_0.9892836805819081"},"_hasShrinkwrap":false},"0.0.0-canary.60fd9523":{"name":"react-wai-accordion","version":"0.0.0-canary.60fd9523","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"eslint 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build","release":"standard-version"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@types/sinon":"^7.5.0","@typescript-eslint/eslint-plugin":"^4.20.0","@typescript-eslint/parser":"^4.20.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","eslint":"^7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.23.1","husky":"^3.0.9","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^9.4.2","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","standard-version":"^9.1.1","ts-node":"^8.4.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"60fd9523a31e9016150b1610eb85acfee686c2a3","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.60fd9523","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-M9LaukxOFomoboKJYbPZWJhoFCy2mTb7ldMk0S1P2Ft3ILHQWloqPue15GVfrhu38LRzMGKtt+oxFH2fKnzzvg==","shasum":"1728a9497ca9c2868715b7b90ab4a7b6b6f6b513","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.60fd9523.tgz","fileCount":46,"unpackedSize":63608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYkYsCRA9TVsSAnZWagAAUloP/2MNEqJRSaw/r9KZE4qy\ni+EQU5M6QfKgKoZ62TLGcaZH/X9g9NX5/fArs6Fom5PWvs5lZJB34dRhSMJy\naoI+OYynSU4sxK10rtb+on0djpehcA6jiX+WajbgXSG2759FUrpcz1R8VSPa\n8jB4Gz0oq79vCTUtICwhoZeVBT2NRJQa05WqCWQw0LsPFkKKmuSs17jdxS1d\nHtzRGALs/uYbIx3jFnzUwhq+rYVDACC8eGRfldFjCBvQewyOKmR5dTMT80no\nY6QLq+782GoickL5B7rpzzO/JMNp6fQBLDtPCUXdPbbKjTr3uNdq2suZAYsE\nE2xHleJeEVeWczUt5Dv50MmJ1HrCfnmyy+Ym2AU0NKCDlhg8EXQPoF+m4f+i\nVfFszoF58yvsF4VWbjWPrgBE3IwBiF5nqXX3cIrw1Oh4gq8p4vLfcokYsvYu\nwu6nLhiZ59GNs7aI3d+vOBQQAU0ERmMIMJ2AYU6mU9VcWZ24q9W8Fl7Gr1rr\n9czb4Gs+6zNjploqv5XXDk7F5OWXq0ayrIFZrHghbDJODbUsjilmToXlU8iL\nUdKu8zbULMCZCSTun3GSQ4mavxxrCD8r1/hSpdANCtfee6VR7HETDSUMKZJ3\nim/eqxXXvT5KQ7M6RXni9ZDDH6iz1shW+lBmbnhKbp6yETIkSpzVV44jhCct\nsFAS\r\n=gnN+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHfmOOyKuQ1+iDY+gFPHki1xMRKJM0YqTF/dX/6176GkAiEArvxFltj2V0ifODCqcRIqd3XflK7eOMHQWdS+waMRW/c="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.60fd9523_1617053228293_0.495890058254598"},"_hasShrinkwrap":false},"0.0.0-canary.e95720b5":{"name":"react-wai-accordion","version":"0.0.0-canary.e95720b5","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .*.json .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"eslint 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build","release":"standard-version"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@types/sinon":"^7.5.0","@typescript-eslint/eslint-plugin":"^4.20.0","@typescript-eslint/parser":"^4.20.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","eslint":"^7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.23.1","husky":"^6.0.0","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^10.5.4","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","standard-version":"^9.1.1","ts-node":"^8.4.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"e95720b599969f1859b33e4b852d1a36d5eb2053","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@0.0.0-canary.e95720b5","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-qDfYvekzfiETDhxNaIh2RBKTqTvWERZcVTdWMUB73zF2/LKekMUpzNAPnOkSim5Lbm28XkSegD+PQnQA3mDvzA==","shasum":"cca5ba191fa04ba3bd243547e91cde3ba6ec062a","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-0.0.0-canary.e95720b5.tgz","fileCount":48,"unpackedSize":63783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYkdzCRA9TVsSAnZWagAAg3IP/Re5g/z55FZWnzQXn64Q\nS1RnPlUe4olUJ284iXoXgaEJBQeMvyvk6PfK8+5BgnoEGtRAv9/S4S991H2y\nlfmDmOXvrb3UBH2Tf3fRIN067XUUPbTqp8lAxc/tpVhj21X/mXtI45WKtund\nO13Bob0cR1d00txA/CttuKwgGcCK+76D7ZqSRREcVHG+2xkMBOVT1t7aGYC/\npXz+csA/hhAps+vSKgJW/oEu3GrZSIAmj9BU3RZZGXmELGwjIAkox9m+0BqX\n+QO9vt1iahygfoHjwk7W6A+b71Qg5FYWLREnPOS9gv3uKTNF0FHgI3zh+hyl\nImTbitUxsh0RcL0e0nQs//PR2fkHS7ZxUBCSGYv3YMvkNP73Ph3q1OjTIhSw\n5933S4MNaUJ792y4+fRs7h0AMrzr0wc1NpyfboMe7l74z0noU8L320pIy6x0\nZbM0dbs3rbSmOlh9O7F3tbhJm+Xj3Jh0YuWJocw13NlhagWlVGFoiqaWqiDi\nHc2wn5kWj4hjph2/PTXzr3Xq+WZXbcDQ08YDssdgzHq4f2vt1SF+8d17EOxZ\nBKVMJw4geA+NOJqbakxZvOXTNrEQZD4Jas0PoR1lf7+3j9XYFtnv+YB4p/qA\njUWsUC9TbhxReDlY6EBsgnudvC/S1+AGOcr2n65i4+Y6/7kG3QUukGJwRj1D\n08Qz\r\n=UnYm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMRi0k0YfsWi7a7eFUIgbHewjn+0+O+80ip29FxF6y9QIgL9b27/kOJJXENlXxNFTW2bnW3OIPjnTz+QvvVT7fXQg="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_0.0.0-canary.e95720b5_1617053554855_0.3143027051446863"},"_hasShrinkwrap":false},"1.0.0":{"name":"react-wai-accordion","version":"1.0.0","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .*.json .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"eslint 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build","release":"standard-version"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@types/sinon":"^7.5.0","@typescript-eslint/eslint-plugin":"^4.20.0","@typescript-eslint/parser":"^4.20.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","eslint":"^7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.23.1","husky":"^6.0.0","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^10.5.4","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","standard-version":"^9.1.1","ts-node":"^8.4.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"gitHead":"ab144084888ca3a638dcba52e6fd88e1e9b59a86","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@1.0.0","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-r7a/DxgIoWc4c0y1BoK39txJl6/u9w8dmWnBnsXt87ZEfq7GbUURinu8SzP4t1wcc18lutlExfk141Y1MZVpSg==","shasum":"eb51836faaf72eeaf6855e5368754a1310c31bbc","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-1.0.0.tgz","fileCount":49,"unpackedSize":64433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZJpQCRA9TVsSAnZWagAAeYIP/2ubOT9EYu+3URZpK+LI\nCG2alhL2YLyNxK1KKbhZVA/Qj1I2RO9AfuXFGzwGkpWG2DoEStYuITF3fSja\n2nndjIGNXsKPanHEewCM0ycxCkH/S1mCMWt+2SC32G6J75mOPyWl8ihM1RnV\nEaqVSy8yokF+2Xqowc1wt+GFskhRwJx2oOB1U+OBHvbhSBz/zvOaLdMsgxjA\naoll2dJmgy6IEmpnsai+IQDRN/0nDGvmnSxN63M9GGD4li+vzGbJWlZlwGS3\nZqDQsSheJH3LwBT/vynlNWzAKAms5O0mv9yn1Ym4vdcGScvfVLSrVtj4it9P\niAKssNZOLqub7tDp2OzMdYTn/SM8arDaW5O1Yu3VyDhadiWmsAwq3LE2gbwW\naLP0DXEc14Ohph8XHmCFak7za4HXCeN+TkuPj61lIatr0feahl63QFxJ6puN\nX8mOKC5efwrcMWVDN76ACy3ys385AH89JB6SKGcmG4DZqeIV22IhiT4gBWo3\n5+KiO3IfcahpJ6RJxtA9qU1qpdXzFXwI5Zca3uuju8lSZ2/sASRHSSCC7/Zc\nHBIFCqNecUrQz/AjQZNVsZzj1pbpp9JJ1JuEaJ8TdJAf5wBzM1dRPlDFAXKm\n5eeP2lbT/nxLUFLWWX18FzTEDEG4+bLub2+rWVKSDDpaCUlTdwXYaFEnBtJ6\nGQt+\r\n=m6RG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFz6FZ8Jqo09g7z9a4yPVphj5QicCrmcp/QczwVIdPKMAiEA+AjoMcvdRWaIWu/In/YiTOzq92J/ny6uXpMi0oBJ61Y="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_1.0.0_1617205840437_0.8325661779184692"},"_hasShrinkwrap":false},"1.0.0-canary.271613ee":{"name":"react-wai-accordion","version":"1.0.0-canary.271613ee","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .*.json .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"eslint 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build","release":"standard-version"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@types/sinon":"^7.5.0","@typescript-eslint/eslint-plugin":"^4.20.0","@typescript-eslint/parser":"^4.20.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","eslint":"^7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.23.1","husky":"^6.0.0","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^10.5.4","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","standard-version":"^9.1.1","ts-node":"^8.4.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"271613eeaa41ec39fb700d0dca5e204a5bd3179d","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@1.0.0-canary.271613ee","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-85XqlGhj7tORjRoQyJlunDjCCs1um69fnDacZevcE+bzLqXHSqZWIVz/vc55Olio+by5U+t4GtSfbyuA4gAgwA==","shasum":"348b741c9eaebec12c2c7f1db0c7610637d41075","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-1.0.0-canary.271613ee.tgz","fileCount":49,"unpackedSize":64448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZJ6dCRA9TVsSAnZWagAAM0MP/3g8Lwuw1yaDA+6+q8Gp\n99RpRwyCLwo9p3mf4+H8NmK8pukrK0zkAscuslPJkNTKaZn8lUxj+lAskBTX\nbEghPVgFyfAAUWK1UIEYSd53Ne0QK9uQt+Br7HcOLx64fy3juHdM4mQHDjPl\naFnznSfxvXPn7lCI86y0WDC3V8+OQTBXZG34ZaPfLo3cIIijaVaFtGzA/yXh\n/0QaYQ0lBs6VspwHf2TACplb879VepdyX7tfK+A7+7QZefgNDG8aosa2IjHG\nL3vRiGwCTO1fajnYqvoS3K/rv2dAHwRRBSzO1E/OUH1DwUM47XgAAI1/aQ+M\n/2HTVk+qIZyuLdtYx2DySFXY/4Fe3fLUeDzeCHgjslBvtDvOtWmM380JC5kw\nOhqvfn3iHRk5Hbg7+uEv1pzUwn9s06CwCFvX+mM2KOgVQie1zBtFMUegmBIH\nGVoLI5Ezqt9kWtci1HYl3+Dfr+Rp9MJCr1oI5rUmzYlFCgpTAbvr1oy8xMVe\nFDGYngs08H4A05CX/MbLG+bUr2xzlytwRKInwDVa/sqbFkx4HWG3FgKqkeXi\nfCMMXVqCoBsKPxys+UT634mFbzIlmoQdXDavpEU+yUDaQXTMpZ6Qo3JKeAF6\nkLpUsFkHZEScNyGzV40WIRtOLH9UkwKLDfocsFGVUMxT9PkoqFo13Y4DIbOX\nUpo+\r\n=t8p1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZkpLfQIw8IMoDYOzRC4QB/hPICW5fYnAlPWNVk6QKNwIgKWU/s2H0u2Df1E2FYKvhUfi7jrDhzrDD+MirlCO43aE="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_1.0.0-canary.271613ee_1617206940932_0.7260776141135581"},"_hasShrinkwrap":false},"1.0.0-canary.36138e9e":{"name":"react-wai-accordion","version":"1.0.0-canary.36138e9e","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .*.json .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"eslint 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build","release":"standard-version"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@types/sinon":"^7.5.0","@typescript-eslint/eslint-plugin":"^4.20.0","@typescript-eslint/parser":"^4.20.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","eslint":"^7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.23.1","husky":"^6.0.0","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^10.5.4","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","standard-version":"^9.1.1","ts-node":"^8.4.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"36138e9ea6cbd80e62180e6fe547548dc09a8b28","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@1.0.0-canary.36138e9e","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-BMElcaZkUXAfemQ2TdYK+oazcWIQrc1bDPRy+DmvGGzuxlsmGKRLuuXbs9k47lbFgaxN5fvbt7jLyc7SlsyRJw==","shasum":"9298853e828456c401caf669b93c0e6e89622d3f","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-1.0.0-canary.36138e9e.tgz","fileCount":49,"unpackedSize":64448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglZ+qCRA9TVsSAnZWagAALAoQAIAquZpEId4Bvf6hw6MD\nTmLnI+rvHQuSj0wUEvSdJDUhDIWPS51efponSLDpUXFFgDRjVpA2iMkyNh29\nYPiP6kJ9CQEtCMkZCVcn6OycYe9ttPJ2EGJWYJOpynjFIjA340GnBe6Y62CD\n+ykMupTk0yUAsn3J6JUOWcJSiMgcsb5WY5kuuLBNkcPtPtP3X8cNoCAenmGC\nX3mOcgVVIVL7m7SMeHxZVpnzqajnTpIMaaBa4nVG/R9Off01FLaXkKh6Z5x3\naWDdG0N0Y3q+kWYh8KzbVkmVsoGKTlTaj99nxiSjkVjB6gBkglZjCraHzGBS\nmJ5f0WieiYsGRab40k0hGJP15umQ2kKXtwgyVzg1GflHXLkslkyYcLNUpep6\nsOag1wnDbN8b/IsyQyyGxvlVlD+G2NSRsR2hNfAA6RALq/UAAYk5HDWGK+KN\n5E9HoiJOoSKaHI+VxFkd6Sv8dhIEGVnjpZVBr0xw5G3ce+id66zARBprez/2\njWSKaYNiGCPTtTm66uwIu85OXv4z0ED2m4LxDhDuzgZ+tJNV2gND5LLRMXDh\nvBXnSqv62fCLAhFr24Audx1FTKBb94k7UVddzhvqHCWgJyD1HphMYcE9xtWY\nl3mL/nn4oIMW6CaX8Vu+kHb86okgn5bil5uiFkiYA+UxdwoylXONshKcDoie\nVIYb\r\n=/3R+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHwasrYk/yCiW2hgaXUmmlwL4yKOt0IPCENv78pAqG2AiEAuP0GHCUWVnNg6mi62MEfaMBig+N3I7u5fgbeZjHCabw="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_1.0.0-canary.36138e9e_1620418473981_0.37516031671905603"},"_hasShrinkwrap":false},"1.0.0-canary.2310c20b":{"name":"react-wai-accordion","version":"1.0.0-canary.2310c20b","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .*.json .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"eslint 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build","release":"standard-version"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@types/sinon":"^7.5.0","@typescript-eslint/eslint-plugin":"^4.20.0","@typescript-eslint/parser":"^4.20.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","eslint":"^7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.23.1","husky":"^6.0.0","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^10.5.4","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","standard-version":"^9.1.1","ts-node":"^8.4.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"2310c20b1b7813ed6400e254d9cc400f76f302c7","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@1.0.0-canary.2310c20b","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-SXAG3xTCbY2M3oYeK2m/7O9bYBAfCK99Xjw57lBgp4Hi5n5AmMZHbQD6GeX4cOGagWPYqcqrrIpfuUJuPwG9CA==","shasum":"12117485c5ee3663497cc932b618029e6ab3b984","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-1.0.0-canary.2310c20b.tgz","fileCount":49,"unpackedSize":64448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrNlMCRA9TVsSAnZWagAA4+cP/jQ+yrpxpRhTsw8Z3LQY\nFzWMRDIghX4ndEGACJD5vVhr1bxJz/MY38hT+gwMOBNccJcxq+DdpNkwDYoS\neToGS3PNPGU1E7HCTIKO0wXm6HxTWv0wGRgAbk9LZrHe5O2seTb30WeJqOIR\nfNuSc4Rt/pV7YvkqoSKypaMdF+RMLkh1UrMHFX4QTGN9bWSrmcHP74Qwgrl5\na0RcctY2Ryno5J6JRh9gF3oawP+jpnmn0TRqJBYwYtefuGOi5SyRxW0FScCA\ngu/ohL/HLUgIffufbFmgdpUkmu1mqJQu9RCD0AdzNETSsFcllOduXsCsFwi+\nqTtTwepefVGpNQNx3bGs/J5G8dx07NZdyUdrb1XRs6kQEklp4hnwZ1G0s+hj\nc+qN6MSdCi6QfthPlW+j7M0H7cHLeTKl8mE6S8R1O813Dc8XV+x9ASFCjEv1\nc0LrpsxYUtxfY8BH+zoO3jwMVrBsl4PYzivp39eLHNjHs0nqu10tWgQc6Oyq\nRgyXw7tk2RtoKgZzIwRzBcv0VGDNgKwKm35HMWUciNqnSAU/gDC6WWAR1ddf\nHFBhF+tN/EJk9b7KFbSQD/ugo/ZjA8IzN9yHlw1r1TlDu5GMRE2Dbt6dwN6V\n8GNeujbLohDItJKq7nNbI5B1kwkGufhkvMX/3PNpyUBfKISqBPFwv8E4QJ0G\nR7vO\r\n=7SVa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGHf4vvMqvuwcVhaUfr/5GJn715MgTaGoiFN89AdGtfAiEAsQa9DZn5q7L7OzZH8l5krJ1e884Zaj47qBl28BJV78o="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_1.0.0-canary.2310c20b_1621940555602_0.8830064170682208"},"_hasShrinkwrap":false},"1.0.0-canary.a9b865ad":{"name":"react-wai-accordion","version":"1.0.0-canary.a9b865ad","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .*.json .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"eslint 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build","release":"standard-version"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@types/sinon":"^7.5.0","@typescript-eslint/eslint-plugin":"^4.20.0","@typescript-eslint/parser":"^4.20.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","eslint":"^7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.23.1","husky":"^6.0.0","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^10.5.4","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","standard-version":"^9.1.1","ts-node":"^8.4.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"a9b865ad0fb86cd9d7e9cf1dc0e6d6afe21752f4","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@1.0.0-canary.a9b865ad","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-CowI0SSmsluhQvyafK+ncvQDs9qF5eZbA+skrczkGx1h4y7R9dkvgst4yUGBmHF/YZkbRYDN8Y4TytJ3eiZeBw==","shasum":"a34924e51ab067f7651c4c2711328f8f579a88a9","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-1.0.0-canary.a9b865ad.tgz","fileCount":49,"unpackedSize":64448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwKhtCRA9TVsSAnZWagAAApQQAJMoZqaOoEHEOLfC6sYR\nRXi2yTUEBUquh7l6eYHMGVoemsKJ0hbnB+pJZOO95vxa2QbHrQsbQoi0F9YT\nbOlWmOoy4lYGKIAJ09MSinex6z0YYcYeZU5pIU6CbI1PsuN+A0CXtkZeWsLa\ngDvInQUbi2CzCX2dFZK2epQZrXmAtEM5w86sV5veof+/5XZJSJwWq43gwKuh\nVDzC6+GOavN5KDOWouCqlLczNlF4EBz5mw0f9+ybt7yX2hFHIfALUSdhQ/l0\n5vEg1By0kaq3ovUP2Fkbct8Ag0dgI2VkNGKrMk3+TpU011Yre1nfbMum/63V\n6vHwN0nqUuWxpLEsMuTAi4uGgZC0NRNWztRxB0sj3h5tkYwQWbOKe/hJ3LSF\nGyeA4WB6kdqCwG6XCivnplcWFCnyy9XWzvNGALfMFWhPCq1JSBOEODGbC0Gi\ng4YstgjSAopWnkWPDbk5ywSh5oST/US9VlthwGn/mS2BL7NUTCZkKoejadWQ\nPnGzDb17fFx3WtovZjNRiC76ohe2ekRMPQOmEUtecp94WslbjwHyLZ3j2jes\noBYXuKhLB8owI+y2vfZ70mA8WO6cPEpCCTxE6g0N3wOhw+gKxSvzSTDy7Jds\nlnGDp3j7SikwqEhOIceXfQnZhzWl3zg/PD4pO7gNP789KlKR4uhNBOHUMfrv\nmZDI\r\n=vl7E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTLhPswEdzbRrWlkW74NYaUysBfeqh/Jc1UO2yx+L2VwIhAOEgcxcsq5Avf3EDix4mo1eHuSq33742R7/8elWOenns"}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_1.0.0-canary.a9b865ad_1623238765510_0.46052884798406546"},"_hasShrinkwrap":false},"1.0.0-canary.2a154e34":{"name":"react-wai-accordion","version":"1.0.0-canary.2a154e34","scripts":{"build":"tsc","dev":"parcel src/example/index.html","build:example":"parcel build src/example/index.html --out-dir=dist/example","fmt":"prettier --write *.{json,md} .*.json .circleci/*.js 'src/**/*.{ts,tsx,css}'","lint":"eslint 'src/**/*.{ts,tsx}'","test":"mocha -r ts-node/register -r jsdom-global/register -r src/testutils/enzyme.ts 'src/**/*.test.{ts,tsx}'","coverage":"nyc npm run test","prepublishOnly":"npm run build","release":"standard-version"},"main":"dist/index.js","types":"dist/index.d.ts","license":"MPL-2.0","dependencies":{"keycode":"^2.2.0","prop-types":"^15.7.2"},"peerDependencies":{"react":"^16"},"devDependencies":{"@types/chai":"^4.2.4","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.4","@types/mocha":"^5.2.6","@types/node":"^12.11.7","@types/prop-types":"^15.7.3","@types/react":"^17.0.3","@types/react-dom":"^17.0.3","@types/sinon":"^7.5.0","@typescript-eslint/eslint-plugin":"^4.20.0","@typescript-eslint/parser":"^4.20.0","axe-core":"^3.4.0","chai":"^4.2.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.15.1","eslint":"^7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-react":"^7.23.1","husky":"^6.0.0","jsdom":"^15.2.0","jsdom-global":"^3.0.2","lint-staged":"^10.5.4","mocha":"^6.2.2","nyc":"^14.1.1","ordinal-number-suffix":"^0.1.2","parcel-bundler":"^1.12.4","prettier":"^1.16.4","react":"^16.11.0","react-dom":"^16.11.0","sinon":"^7.5.0","standard-version":"^9.1.1","ts-node":"^8.4.1","typescript":"^3.6.4"},"prettier":{"arrowParens":"avoid","bracketSpacing":true,"jsxBracketSameLine":false,"printWidth":80,"semi":false,"singleQuote":true,"useTabs":false},"nyc":{"checkCoverage":true,"exclude":["**/*.test.ts","**/*.test.tsx","src/testutils/*.ts","src/testutils/*.tsx"],"extension":[".ts",".tsx"],"reporter":["text-summary","html"],"sourceMap":true,"instrument":true,"statements":85,"branches":85,"functions":85,"lines":85},"readme":"# react-wai-accordion\n\n[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)\n\n> An Accordion component for React, based on the [WAI Accordion guidelines](https://www.w3.org/TR/wai-aria-practices/#accordion).\n\n## Installation\n\nWith `npm`, do:\n\n```\nnpm install react-wai-accordion\n```\n\n## Usage\n\nThis component was designed to be used as building-blocks for a more complex component. It _only_ takes care of the logic, ARIA relationships and markup required for an accordion. It does not provide _any_ styling for you &mdash; you must write your own styles.\n\nHowever, example styles can be found in `src/example/app.css`.\n\nNOTE: this package assumes `Map`, `WeakMap` and `process.env` are available. You are responsible for adding polyfills if your environment does not already support them.\n\n### Simple Example\n\nA simple example demonstrating how to use the component.\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport Accordion, { AccordionItem } from 'react-wai-accordion'\n\nconst App = () => (\n  <div className=\"App\">\n    <Accordion classPrefix=\"MyAccordion\" idPrefix=\"acc_\">\n      <AccordionItem title=\"Fruits\">\n        <h4>List of fruits</h4>\n        <ul>\n          <li>apples</li>\n          <li>oranges</li>\n          <li>bananas</li>\n        </ul>\n      </AccordionItem>\n      <AccordionItem title={<span>Animals</span>}>\n        <h4>List of animals</h4>\n        <ul>\n          <li>Dogs</li>\n          <li>Chickens</li>\n          <li>Alligators</li>\n        </ul>\n      </AccordionItem>\n    </Accordion>\n  </div>\n)\n\nconst container = document.createElement('div')\ndocument.body.appendChild(container)\n\nReactDOM.render(App, container)\n```\n\nA full example can be seen in `src/example` and run with `npm run dev`.\n\n### Component API\n\nThe `react-wai-accordion` package exports 2 different components, each with a specific purpose as described below.\n\n#### `<Accordion />`\n\nThe top-level `<Accordion />` component houses your `<AccordionItem />`s. It is where the majority of the logic/state for the accordion is held.\n\nThe `<Accordion />` component **must** be provided children, and those children **must** be of the type `<AccordionItem />`. Failure to provide `<AccordionItem />`s will result in an error being thrown in development (deduced via `process.env.NODE_ENV`).\n\n##### Accordion Props\n\n- `children`: any number of `<AccordionItem />`s\n- `classPrefix`: an optional prefix to use for defining the classes used within the the `<Accordion />`. This prefix will be applied to all rendered components.\n- `idPrefix`: an optional prefix to use for the randomly generated IDs the `<Accordion />` children will be given.\n\nAny additional props provided to the `<Accordion />` will be passed onto the rendered `<div>` element.\n\n#### `<AccordionItem />`\n\nThe `<AccordionItem />` denotes a collapsable item within the `<Accordion />`. The `<AccordionItem />` **must** be provided a `title` and `children` to expand/collapse.\n\n##### AccordionItem Props\n\n- `title`: a string or JSX element to render for the item's title\n- `children`: content to expand/collapse\n\nAny additional props provided to the `<AccordionItem />` will be passed onto the rendered `<div>` element.\n\n### CSS API\n\nThe `Accordion` components use a predefined set of classes which can be used for styling. By default, the classes are prefixed with `Accordion`, but this may be changed by providing the `<Accordion classPrefix=\"Something\" />` prop.\n\nThe classes which can be used for custom styles are:\n\n- `Accordion`: the top-level `<Accordion />` div\n- `Accordion-item`: applied to each `<AccordionItem />` div\n- `Accordion-item-open`: applied to the open `<AccordionItem />` div\n- `Accordion-item-title`: applied to the div wrapping each `<AccordionTitle />`\n- `Accordion-item-trigger`: the button used to expand/collapse an `<AccordionItem />`\n- `Accordion-item-icon`: a span for drawing an icon within the title\n- `Accordion-item-content`: applied to the div wrapping each `<AccordionContent />`\n\n## License\n\nMPL 2.0\n","readmeFilename":"README.md","gitHead":"2a154e343dd178abda697545cea2f689b1e2a170","description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","_id":"react-wai-accordion@1.0.0-canary.2a154e34","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-+69gZTmWIjpvYhyi6DPVRACWxv/zvaDnevw/GDjR54e7e9WpfgEGS5hHyKHLveW0MHSMj5RI+7yPXP9sQsCwvA==","shasum":"c3eb3736cf8b05c392a3f6cabe2080ddc7efd010","tarball":"https://registry.npmjs.org/react-wai-accordion/-/react-wai-accordion-1.0.0-canary.2a154e34.tgz","fileCount":49,"unpackedSize":64448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE+ReCRA9TVsSAnZWagAAtk4P+QEekKH076+ZI0j+U98f\nJ6buK0cMM8CU0s/XXcwqIA/mH9NPynRFjsJQjDLySiQgdYK3NUsyBLX/R4Ql\n2DfFVChAjAIIxPSb4k8eCaFN6IBX058+mCOOL9zmN7Kb6gn6qinbqUi6EHpq\nDxz/W5H79hFz+prQ2V8Ry5iqn9drF/V6bIY4tCuRegnE7PFnixMCiFU8TOcN\n3AUXM6P2m3KIkGIWTtZYF70srSdcdlhs2wr6L6yusaxJL36ztOcfHFxCMS/8\nYNg82BBu+CFQdRFLfbEEVAiIVr6sWAOBASFFLoBUx6U+tbx7byXYhvY5Rcpa\nZHSQqQOMos5c9eIF4jAevaQ5f3jJvdAjKQkcHTO2B0tiYXAX7+Ajlopr/YgJ\nQoCVV5EbwgUI5DESxwJ8abumfsapyYmDdW4dq9tJ3Mru+bKwPCowBXgSdV7D\nm4YXlDqG5Tt9GjErC+1OOd6ixSOTmqAgIVomC5mFID1xS377q8NA7XWl9yJW\nR2e5fDGWwQYJLNc+p2GQgwQQ7DFi4bjqDEZHr0Cf5DXzHAxM5xU8ZEuHXOhq\nc0w7tHENz1cufkQxAsBxoOZH4UBt0eSZJ/16eK7hKCzXwrMNLnSZbiK6UQQC\nPAQwHXkzZ2D5ZnVgH7m0fMS3jn9kvl4+y0QaOO2UjMKQtrZ13utTKaIf4zCs\nF3hG\r\n=nbzw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtsryBRe1fSlUeCezFyTAfUSNEs3Aq3SiRPW6/5mATlAiEAjsTSofLrmIRlFE4X3jNzSFY2D54Iobo08vKSgOfbT/w="}]},"_npmUser":{"name":"npmdeque","email":"axe@deque.com"},"directories":{},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-wai-accordion_1.0.0-canary.2a154e34_1628693598528_0.35588163820992635"},"_hasShrinkwrap":false}},"time":{"created":"2019-02-20T16:12:53.577Z","0.0.0-canary.2ad4b10f":"2019-02-20T16:12:53.688Z","modified":"2022-05-15T07:39:28.851Z","0.0.0-canary.42ac184c":"2019-03-18T15:19:39.312Z","0.0.0-canary.b1929440":"2019-07-10T17:01:04.907Z","0.0.0-canary.6dd168a6":"2019-10-02T22:59:36.264Z","0.0.0-canary.88e0d10b":"2019-10-10T22:08:39.734Z","0.0.0-canary.67240aba":"2019-10-10T22:09:34.525Z","0.0.0-canary.bc0ea5ce":"2019-10-10T22:10:07.344Z","0.0.0-canary.9016a28a":"2019-10-10T22:10:52.845Z","0.0.0-canary.ef2ce16b":"2019-10-10T22:11:13.884Z","0.0.0-canary.3e1d27c9":"2019-10-10T22:12:06.460Z","0.0.0-canary.c77ea9a0":"2019-10-10T22:12:41.956Z","0.0.0-canary.cb4313d6":"2019-10-10T22:13:26.939Z","0.0.0-canary.18012429":"2019-10-10T22:15:44.175Z","0.0.0-canary.a12b3e6e":"2019-10-10T22:19:57.649Z","0.0.0-canary.8156dea5":"2019-10-14T15:21:49.058Z","0.0.0-canary.bb93a129":"2019-10-14T15:22:58.749Z","0.0.0-canary.4db2f36c":"2019-10-14T15:23:10.457Z","0.0.0-canary.cb65262d":"2019-10-14T15:23:50.522Z","0.0.0-canary.de04928e":"2019-10-14T15:27:48.218Z","0.0.0-canary.4c68f12c":"2019-10-14T15:28:18.805Z","0.0.0-canary.d9134ec3":"2019-10-14T15:32:10.150Z","0.0.0-canary.fb89e8b0":"2019-10-14T15:32:15.094Z","0.0.0-canary.014c9382":"2019-10-14T15:39:00.137Z","0.0.0-canary.c71fa880":"2019-10-14T15:53:47.163Z","0.0.0-canary.7d5f1116":"2019-10-15T15:07:39.591Z","0.0.0-canary.fbcb8369":"2019-10-15T15:09:13.324Z","0.0.0-canary.aa33723d":"2019-10-15T15:48:55.248Z","0.0.0-canary.c4cc290d":"2019-10-18T22:17:49.288Z","0.0.0-canary.78e7f157":"2019-10-18T22:18:27.940Z","0.0.0-canary.83f561e9":"2019-10-21T15:55:37.238Z","0.0.0-canary.e5078f10":"2019-10-22T17:33:38.464Z","0.0.0-canary.1de61113":"2019-10-22T17:34:10.217Z","0.0.0-canary.7b9ae6f8":"2019-10-28T14:51:30.927Z","0.0.0-canary.b8c418b0":"2019-10-28T14:51:58.261Z","0.0.0-canary.9cc39f6d":"2019-10-28T14:52:14.845Z","0.0.0-canary.016d3275":"2019-10-28T14:52:41.650Z","0.0.0-canary.83f1f33b":"2019-10-28T15:05:02.762Z","0.0.0-canary.5dfbba19":"2019-10-28T15:13:21.578Z","0.0.0-canary.1450aa13":"2020-01-13T17:47:36.066Z","0.0.0-canary.e0137bb3":"2020-01-30T17:33:55.594Z","0.0.0-canary.a6f5d6bd":"2020-03-17T14:27:14.689Z","0.0.0-canary.1613f2fc":"2020-05-28T13:39:51.414Z","0.0.0-canary.d392cac3":"2020-07-16T20:59:08.426Z","0.0.0-canary.545b2a38":"2020-07-29T21:53:34.536Z","0.0.0-canary.7f98b26d":"2020-10-28T21:19:12.011Z","0.0.0-canary.c3896209":"2020-11-26T17:45:56.857Z","0.0.0-canary.d5427453":"2020-12-10T19:08:33.160Z","0.0.0-canary.0e2361e6":"2021-03-08T21:41:13.298Z","0.0.0-canary.60aa10b8":"2021-03-29T20:36:42.766Z","0.0.0-canary.6886834c":"2021-03-29T21:07:54.944Z","0.0.0-canary.60fd9523":"2021-03-29T21:27:08.447Z","0.0.0-canary.e95720b5":"2021-03-29T21:32:35.060Z","1.0.0":"2021-03-31T15:50:40.570Z","1.0.0-canary.271613ee":"2021-03-31T16:09:01.066Z","1.0.0-canary.36138e9e":"2021-05-07T20:14:34.138Z","1.0.0-canary.2310c20b":"2021-05-25T11:02:35.778Z","1.0.0-canary.a9b865ad":"2021-06-09T11:39:25.657Z","1.0.0-canary.2a154e34":"2021-08-11T14:53:18.707Z"},"maintainers":[{"name":"npmdeque","email":"axe@deque.com"}],"description":"[![CircleCI](https://circleci.com/gh/dequelabs/react-wai-accordion.svg?style=svg&circle-token=74120e2187dd217faaaaf9b1180d252f5bed4f03)](https://circleci.com/gh/dequelabs/react-wai-accordion)","license":"MPL-2.0","readme":"","readmeFilename":""}