{"_id":"@aire-ux/aire-theme-material","_rev":"1-09a27359d846922058fe6113b292e2e6","name":"@aire-ux/aire-theme-material","dist-tags":{"latest":"0.0.16"},"versions":{"0.0.16":{"name":"@aire-ux/aire-theme-material","version":"0.0.16","description":"Aire Material Theme","author":{"name":"Aire-UX"},"license":"MIT","main":"dist/index.js","module":"dist/index.js","scripts":{"clean":"rimraf dist","rollup:watch":"rollup -c -w","rollup":"rollup -c","start":"concurrently --kill-others --names rollup,web-dev-server \"npm run rollup:watch\" \"web-dev-server --node-resolve --open --watch\" --config web-dev-server.config.mjs","build":"tsc","prepublish":"rimraf dist && concurrently \"tsc\" \"npm run rollup -c\"","lint":"eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore","format":"eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore","test":"tsc && wtr --coverage","test:watch":"tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"","storybook":"tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds -c .storybook/server.mjs\"","storybook:build":"tsc && build-storybook"},"devDependencies":{"@open-wc/building-rollup":"^1.10.0","@open-wc/eslint-config":"^4.3.0","@open-wc/testing":"^2.5.33","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^2.4.2","@rollup/plugin-typescript":"^8.2.1","@typescript-eslint/eslint-plugin":"^4.28.0","@typescript-eslint/parser":"^4.28.0","@web/dev-server":"^0.1.17","@web/dev-server-rollup":"^0.3.4","@web/dev-server-storybook":"^0.3.5","@web/test-runner":"^0.12.20","concurrently":"^5.3.0","cssnano":"^5.0.6","deepmerge":"^4.2.2","es-dev-server":"^2.1.0","eslint":"^7.29.0","eslint-config-prettier":"^7.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","postcss-dropunusedvars":"^1.2.0","postcss-import":"^14.0.2","postcss-scss":"^4.0.0","postcss-varfallback":"^1.1.0","prettier":"^2.2.1","rimraf":"^3.0.2","rollup":"^2.52.2","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.0","rollup-plugin-postcss-lit":"^1.1.0","rollup-plugin-typescript2":"^0.30.0","sinon":"^11.1.1","tslib":"^2.3.0","typescript":"^4.3.4","typescript-node":"^0.1.3"},"eslintConfig":{"parser":"@typescript-eslint/parser","extends":["@open-wc/eslint-config","eslint-config-prettier"],"plugins":["@typescript-eslint"],"rules":{"no-undef":"off","wc/guard-super-call":"off","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error"],"import/no-unresolved":"off","import/extensions":["error","always",{"ignorePackages":true}]}},"prettier":{"singleQuote":true,"arrowParens":"avoid"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"gitHead":"6e13c0642324069db71368f860e20d1b2705a7e0","_id":"@aire-ux/aire-theme-material@0.0.16","_nodeVersion":"12.21.0","_npmVersion":"7.18.1","dist":{"integrity":"sha512-CuljyIFNYypEmKfGaZ0OZXMqy9lu7f4WRApHQIzJqJfGlbXJ+1ThALJ4k/Or77C4sOhJdRidiwuB9nTgipxCUw==","shasum":"3745b3d22bd1c2cb4921541705eb5c7d23f58fb8","tarball":"https://registry.npmjs.org/@aire-ux/aire-theme-material/-/aire-theme-material-0.0.16.tgz","fileCount":117,"unpackedSize":2109918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9xxUCRA9TVsSAnZWagAAvZwP/0jSXNiBDgpQ+CiBadNZ\no0FN4KenWogk6/PVTu3CkJOPyd4cIzLDg1KK+9xcfyrMQE/IVJcs+59VahRA\nUPk1YB3O48u6BtACygrA/No5u7sJlLEqEJo1x3Pwu6cBn40CjaGkIWyodWfQ\nOmd2KcAtD064mv4pOQD3qaJE/ksyHuxb0YdcMN0b5aLNVpttURhk5Kql1gqe\n8HKghxBMAZmnSdRmDBTmQfbKUohBrH+OCuMqYPfl1sAz96RQUPMPv+VM9o4z\nFtsyts8UCRJ2Qh00B2vC/7REp/MjVZB3G4wTqw7AN72BYcj0sI/91K0YWHt5\nI1GEldhlHejc7L9/6OcgsDvFkvjUe7B56Hquc5LtRh19A679S6/GWLxeRKZD\nVY1ctoRkNLSxJah3IZQgkTOTEybpeqlbYTQmvcqMikGu561C3SQRD3S6wWne\nxpE/93bFVfydNYF/pCBE/iPo78hPWp4rsXrJQkFOc+YGeccrLbbKzaDGsyQi\n72KsHPRydPgp+3wrqd7l9IT39qxIJQnWLjU3NP5ecFBDcIMqc+NFZNpL7PT8\nz5zCzNqLArRsar2E+ChhyfSFtc481+0Go0q3Zjd/qjRbQwbLgec7czDd+Y9N\nGav1GVrIksVL3WonoK9XEXqfhlzzveVRfvOXfMLvJZEIW3UTJPbwCHoGFY99\n3NQZ\r\n=dr+6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfneDoPgddG+rkaR5eIl+cXZMl5NK4beJnHJWC0/ZvfgIhALP/NyDcEqIx1aT2x2rTVy8ngNK2GcUITzpIQm1aV7/Y"}]},"_npmUser":{"name":"sunshowerjoe","email":"josiah@sunshower.io"},"directories":{},"maintainers":[{"name":"sunshowerjoe","email":"josiah@sunshower.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aire-theme-material_0.0.16_1626807379884_0.30563176204315035"},"_hasShrinkwrap":false}},"time":{"created":"2021-07-20T18:56:19.821Z","0.0.16":"2021-07-20T18:56:20.150Z","modified":"2022-04-04T12:21:53.403Z"},"maintainers":[{"name":"sunshowerjoe","email":"josiah@sunshower.io"}],"description":"Aire Material Theme","author":{"name":"Aire-UX"},"license":"MIT","readme":"# Aire Theme Manager \n\nThis component is intended to be used by the Aire UX Theme Manager component.  Nonetheless, it\ncan be a useful way to alter styles within the DOM and respond to them\n\n\n## Installation\n```bash\nnpm i @aire-ux/aire-theme-manager\n```\n\n## Usage\nAire ThemeManager supports two types of styling changes out of the box:\n\n### Dynamic Page Inclusions\nThis is the simplest type of theming: the theme manager dynamically adds\nand removes `<link>` tags to the page for your components' consumption.\nFor better or worse, the CSS isolation of shadow-dom prevents this\nstyling from propagating to web-component based components.\n\n\n```typescript\n  import {Aire} from '@aire-ux/aire-theme-manager'\n\n  function setBootstrap() {\n    Aire.uninstallStyles();\n    Aire.installStyles([{\n      id: 'bootstrap',\n      url: 'https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css',\n      mode: Aire.Mode.Global\n    }])\n  }\n\n  function setMaterial() {\n    Aire.uninstallStyles();\n    Aire.installStyles([{\n      id: 'mdb',\n      url: 'https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.6.0/mdb.min.css',\n      mode: Aire.Mode.Global\n    }])\n  }\n\n```\n\n### Adopted Stylesheets (Shadow DOM)\nThis mode is the default for Aire components. Changes are propagated via\nevents to all listening components (\n    registered via the \n    `@dynamicallyThemeable` decorator exported by `@aire-ux/aire-theme-decorators`)\n\n\n```typescript\n\nfunction setBootstrap() {\n  Aire.uninstallStyles();\n  Aire.installStyles([{\n    id: 'bootstrap',\n    url: 'https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css',\n    mode: Aire.Mode.Constructable\n  }])\n}\n\n\nfunction setMaterial() {\n  Aire.uninstallStyles();\n  Aire.installStyles([{\n    id: 'mdb',\n    url: 'https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.6.0/mdb.min.css',\n    mode: Aire.Mode.Constructable\n  }])\n}\n```\n\n\n\n\n\n\n## Linting with ESLint, Prettier, and Types\nTo scan the project for linting errors, run\n```bash\nnpm run lint\n```\n\nYou can lint with ESLint and Prettier individually as well\n```bash\nnpm run lint:eslint\n```\n```bash\nnpm run lint:prettier\n```\n\nTo automatically fix many linting errors, run\n```bash\nnpm run format\n```\n\nYou can format using ESLint and Prettier individually as well\n```bash\nnpm run format:eslint\n```\n```bash\nnpm run format:prettier\n```\n\n## Testing with Web Test Runner\nTo run the suite of Web Test Runner tests, run\n```bash\nnpm run test\n```\n\nTo run the tests in watch mode (for &lt;abbr title=&#34;test driven development&#34;&gt;TDD&lt;/abbr&gt;, for example), run\n\n```bash\nnpm run test:watch\n```\n\n## Demoing with Storybook\nTo run a local instance of Storybook for your component, run\n```bash\nnpm run storybook\n```\n\nTo build a production version of Storybook, run\n```bash\nnpm run storybook:build\n```\n\n\n## Tooling configs\n\nFor most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.\n\nIf you customize the configuration a lot, you can consider moving them to individual files.\n\n## Local Demo with `web-dev-server`\n```bash\nnpm start\n```\nTo run a local development server that serves the basic demo located in `demo/index.html`\n","readmeFilename":"README.md"}