From bbec08e78ebb2e4924684419bb1532815780a564 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Tue, 16 Jul 2024 15:58:57 -0400 Subject: [PATCH 01/27] chore: add ci workflow --- .github/workflows/release.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..d878d13 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,34 @@ +name: Release + +on: + push: + branches: + - main + +jobs: + release: + # Prevents changesets action from creating a PR on forks + if: github.repository == 'rhds/icons' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: npm + + - run: npm ci --prefer-offline + - run: npm run build + + - name: Create Release Pull Request or Publish to npm + id: changesets + uses: changesets/action@v1 + with: + publish: npx changeset publish + commit: "chore: prepare release" + title: "chore: prepare release" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + From 467ad69c67d6ecb7a726b3eddafc24855a1a1d86 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Tue, 16 Jul 2024 15:59:09 -0400 Subject: [PATCH 02/27] chore: add nvmrc file --- .nvmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..93a75dd --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v20.14.0 \ No newline at end of file From 9634f6c860a87b6b1781ee481934ccebfe7ece81 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Tue, 16 Jul 2024 16:00:02 -0400 Subject: [PATCH 03/27] chore: add wireit and changesets, improve build --- .gitignore | 4 +- build.js | 16 +- package-lock.json | 2487 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 49 +- 4 files changed, 2519 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index 79e8690..53d4eab 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ node_modules *.jpg dist _site -.DS_Store \ No newline at end of file +.DS_Store + +.wireit \ No newline at end of file diff --git a/build.js b/build.js index dd07be6..8d74925 100644 --- a/build.js +++ b/build.js @@ -1,20 +1,28 @@ import { sep, basename } from 'node:path'; import { globby } from 'globby'; import { mkdir, readFile, writeFile } from 'node:fs/promises'; +import * as htmlMinify from 'html-minifier'; +/* options for minification of the svg files */ +const minifyOptions = { + collapseWhitespace: true +} -// const getContent = (name: string, { height, width, path, xOffset = 0, yOffset = 0 }: IconSpec) => -// `import{svg}from'lit';export default svg\`\`;`; +const license = 'Red Hat, Inc. Creative Commons 4.0'; +const getSVG = (svg) => + htmlMinify.minify(`${svg}`, minifyOptions); const getContent = content => - `const t = document.createElement('template');t.innerHTML=\`${content}\`;export default t.content.cloneNode(true);`; + `const t = document.createElement('template');t.innerHTML=\`${getSVG(content)}\`;export default t.content.cloneNode(true);`; for (const path of await globby('src/**/*.svg')) { const [filename, category] = path.split(sep).reverse(); await mkdir(new URL(`dist/${category}`, import.meta.url), { recursive: true }); + const svg = await readFile(new URL(path, import.meta.url), 'utf8'); + await writeFile(new URL(`dist/${category}/${filename}`, import.meta.url), getSVG(svg), 'utf8'); await writeFile( new URL(`dist/${category}/${filename.replace(/\.svg$/, '.js')}`, import.meta.url), - getContent(await readFile(new URL(path, import.meta.url), 'utf8')), + getContent(svg), 'utf8' ); } diff --git a/package-lock.json b/package-lock.json index 8f7fe5d..79da10a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,9 +10,12 @@ "license": "CC-BY-4.0", "devDependencies": { "@11ty/eleventy": "^2.0.0-beta.3", + "@changesets/cli": "^2.27.7", "convert-svg-to-png": "^0.6.4", "globby": "^13.1.2", - "svgo": "^2.8.0" + "html-minifier": "^4.0.0", + "svgo": "^2.8.0", + "wireit": "^0.14.5" } }, "node_modules/@11ty/dependency-tree": { @@ -175,6 +178,18 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/runtime": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz", + "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/types": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", @@ -189,12 +204,631 @@ "node": ">=6.9.0" } }, + "node_modules/@changesets/apply-release-plan": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.4.tgz", + "integrity": "sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/config": "^3.0.2", + "@changesets/get-version-range-type": "^0.4.0", + "@changesets/git": "^3.0.0", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "detect-indent": "^6.0.0", + "fs-extra": "^7.0.1", + "lodash.startcase": "^4.4.0", + "outdent": "^0.5.0", + "prettier": "^2.7.1", + "resolve-from": "^5.0.0", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/assemble-release-plan": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.3.tgz", + "integrity": "sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/changelog-git": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", + "integrity": "sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==", + "dev": true, + "dependencies": { + "@changesets/types": "^6.0.0" + } + }, + "node_modules/@changesets/cli": { + "version": "2.27.7", + "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.7.tgz", + "integrity": "sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/apply-release-plan": "^7.0.4", + "@changesets/assemble-release-plan": "^6.0.3", + "@changesets/changelog-git": "^0.2.0", + "@changesets/config": "^3.0.2", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/get-release-plan": "^4.0.3", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@changesets/write": "^0.3.1", + "@manypkg/get-packages": "^1.1.3", + "@types/semver": "^7.5.0", + "ansi-colors": "^4.1.3", + "chalk": "^2.1.0", + "ci-info": "^3.7.0", + "enquirer": "^2.3.0", + "external-editor": "^3.1.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "mri": "^1.2.0", + "outdent": "^0.5.0", + "p-limit": "^2.2.0", + "preferred-pm": "^3.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "spawndamnit": "^2.0.0", + "term-size": "^2.1.0" + }, + "bin": { + "changeset": "bin.js" + } + }, + "node_modules/@changesets/cli/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/cli/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/cli/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@changesets/cli/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@changesets/cli/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@changesets/cli/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/cli/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/config": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.2.tgz", + "integrity": "sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==", + "dev": true, + "dependencies": { + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/logger": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1", + "micromatch": "^4.0.2" + } + }, + "node_modules/@changesets/errors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", + "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", + "dev": true, + "dependencies": { + "extendable-error": "^0.1.5" + } + }, + "node_modules/@changesets/get-dependents-graph": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.1.tgz", + "integrity": "sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==", + "dev": true, + "dependencies": { + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/get-dependents-graph/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/get-dependents-graph/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/get-dependents-graph/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@changesets/get-dependents-graph/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@changesets/get-dependents-graph/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@changesets/get-dependents-graph/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/get-dependents-graph/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/get-release-plan": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.3.tgz", + "integrity": "sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/assemble-release-plan": "^6.0.3", + "@changesets/config": "^3.0.2", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, + "node_modules/@changesets/get-version-range-type": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", + "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==", + "dev": true + }, + "node_modules/@changesets/git": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.0.tgz", + "integrity": "sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "is-subdir": "^1.1.1", + "micromatch": "^4.0.2", + "spawndamnit": "^2.0.0" + } + }, + "node_modules/@changesets/logger": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.0.tgz", + "integrity": "sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==", + "dev": true, + "dependencies": { + "chalk": "^2.1.0" + } + }, + "node_modules/@changesets/logger/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/logger/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/logger/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@changesets/logger/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@changesets/logger/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@changesets/logger/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/logger/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/parse": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.0.tgz", + "integrity": "sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==", + "dev": true, + "dependencies": { + "@changesets/types": "^6.0.0", + "js-yaml": "^3.13.1" + } + }, + "node_modules/@changesets/pre": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.0.tgz", + "integrity": "sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1" + } + }, + "node_modules/@changesets/read": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.0.tgz", + "integrity": "sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/parse": "^0.4.0", + "@changesets/types": "^6.0.0", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "p-filter": "^2.1.0" + } + }, + "node_modules/@changesets/read/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/read/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/read/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@changesets/read/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@changesets/read/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@changesets/read/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/read/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@changesets/should-skip-package": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.0.tgz", + "integrity": "sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, + "node_modules/@changesets/types": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", + "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==", + "dev": true + }, + "node_modules/@changesets/write": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.1.tgz", + "integrity": "sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "prettier": "^2.7.1" + } + }, "node_modules/@iarna/toml": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", "dev": true }, + "node_modules/@manypkg/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.5.5", + "@types/node": "^12.7.1", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0" + } + }, + "node_modules/@manypkg/find-root/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/@manypkg/find-root/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@manypkg/get-packages": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", + "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.5.5", + "@changesets/types": "^4.0.1", + "@manypkg/find-root": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "^11.0.0", + "read-yaml-file": "^1.1.0" + } + }, + "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", + "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==", + "dev": true + }, + "node_modules/@manypkg/get-packages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@manypkg/get-packages/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@manypkg/get-packages/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -293,6 +927,12 @@ "dev": true, "optional": true }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, "node_modules/@types/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", @@ -333,6 +973,24 @@ "node": ">= 6.0.0" } }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -507,6 +1165,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/better-path-resolve": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", + "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", + "dev": true, + "dependencies": { + "is-windows": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -600,6 +1270,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -625,6 +1305,12 @@ "is-regex": "^1.0.3" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, "node_modules/cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -822,6 +1508,33 @@ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1033,6 +1746,15 @@ "node": ">= 0.6.0" } }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/dev-ip": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", @@ -1163,6 +1885,19 @@ "once": "^1.4.0" } }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -1227,6 +1962,38 @@ "node": ">=0.10.0" } }, + "node_modules/extendable-error": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", + "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", @@ -1357,12 +2124,36 @@ "node": ">=8" } }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1576,6 +2367,42 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "dev": true, + "dependencies": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-minifier/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/htmlparser2": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", @@ -1672,6 +2499,24 @@ "node": ">= 6" } }, + "node_modules/human-id": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", + "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==", + "dev": true + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -1852,6 +2697,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-subdir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", + "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", + "dev": true, + "dependencies": { + "better-path-resolve": "1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1926,6 +2792,21 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jstransformer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", @@ -1995,6 +2876,30 @@ "integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g==", "dev": true }, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -2043,18 +2948,34 @@ "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", "dev": true }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": true + }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, + "node_modules/lru-cache/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, "node_modules/luxon": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", @@ -2274,6 +3195,15 @@ "integrity": "sha512-8L8DwbdjjWwM/aNqj7BSoSn4G7SQLNiDcxCnMWbf506jojR6lNQ5YOmQqXEIE8u3C492UlkN4d0hQwz97+M1oQ==", "dev": true }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -2336,6 +3266,15 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, "node_modules/node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -2441,6 +3380,33 @@ "wrappy": "1" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/outdent": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", + "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", + "dev": true + }, + "node_modules/p-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", + "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", + "dev": true, + "dependencies": { + "p-map": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -2468,6 +3434,15 @@ "node": ">=8" } }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -2477,6 +3452,15 @@ "node": ">=6" } }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, "node_modules/parse-srcset": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", @@ -2735,6 +3719,97 @@ "node": ">= 4" } }, + "node_modules/preferred-pm": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.4.tgz", + "integrity": "sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/preferred-pm/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/preferred-pm/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/preferred-pm/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/preferred-pm/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -2762,6 +3837,17 @@ "any-promise": "^0.1.0" } }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -2774,6 +3860,12 @@ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, "node_modules/pug": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", @@ -2952,6 +4044,30 @@ } ] }, + "node_modules/read-yaml-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", + "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.6.1", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-yaml-file/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -3058,6 +4174,21 @@ "node": ">=0.10.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -3075,6 +4206,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -3185,6 +4334,12 @@ } ] }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "node_modules/section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", @@ -3199,13 +4354,10 @@ } }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -3240,6 +4392,12 @@ "node": ">=8" } }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -3270,6 +4428,60 @@ "node": ">=0.10.0" } }, + "node_modules/spawndamnit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", + "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/spawndamnit/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/spawndamnit/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawndamnit/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawndamnit/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -3313,6 +4525,27 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", @@ -3395,6 +4628,18 @@ "node": ">=6" } }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -3457,7 +4702,6 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", "dev": true, - "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" }, @@ -3475,6 +4719,15 @@ "through": "^2.3.8" } }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -3484,6 +4737,12 @@ "node": ">= 0.8" } }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -3530,6 +4789,63 @@ "node": ">= 8" } }, + "node_modules/which-pm": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.2.0.tgz", + "integrity": "sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==", + "dev": true, + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8.15" + } + }, + "node_modules/wireit": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/wireit/-/wireit-0.14.5.tgz", + "integrity": "sha512-K4ka9YBpSyD6pmFZYTJd4VpPsAiPT6j/fOtLzYgnKWlPIMM7lAZjQQ30H7urO+Lqx1Wvrw88tQHBz4njy+lglg==", + "dev": true, + "workspaces": [ + "vscode-extension", + "website" + ], + "dependencies": { + "brace-expansion": "^4.0.0", + "chokidar": "^3.5.3", + "fast-glob": "^3.2.11", + "jsonc-parser": "^3.0.0", + "proper-lockfile": "^4.1.2" + }, + "bin": { + "wireit": "bin/wireit.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/wireit/node_modules/balanced-match": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-3.0.1.tgz", + "integrity": "sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==", + "dev": true, + "engines": { + "node": ">= 16" + } + }, + "node_modules/wireit/node_modules/brace-expansion": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-4.0.0.tgz", + "integrity": "sha512-l/mOwLWs7BQIgOKrL46dIAbyCKvPV7YJPDspkuc88rHsZRlg3hptUGdU7Trv0VFP4d3xnSGBQrKu5ZvGB7UeIw==", + "dev": true, + "dependencies": { + "balanced-match": "^3.0.0" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/with": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", @@ -3593,6 +4909,18 @@ "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -3705,6 +5033,15 @@ "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", "dev": true }, + "@babel/runtime": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz", + "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, "@babel/types": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", @@ -3716,12 +5053,565 @@ "to-fast-properties": "^2.0.0" } }, + "@changesets/apply-release-plan": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.4.tgz", + "integrity": "sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/config": "^3.0.2", + "@changesets/get-version-range-type": "^0.4.0", + "@changesets/git": "^3.0.0", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "detect-indent": "^6.0.0", + "fs-extra": "^7.0.1", + "lodash.startcase": "^4.4.0", + "outdent": "^0.5.0", + "prettier": "^2.7.1", + "resolve-from": "^5.0.0", + "semver": "^7.5.3" + } + }, + "@changesets/assemble-release-plan": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.3.tgz", + "integrity": "sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "semver": "^7.5.3" + } + }, + "@changesets/changelog-git": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", + "integrity": "sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==", + "dev": true, + "requires": { + "@changesets/types": "^6.0.0" + } + }, + "@changesets/cli": { + "version": "2.27.7", + "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.7.tgz", + "integrity": "sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/apply-release-plan": "^7.0.4", + "@changesets/assemble-release-plan": "^6.0.3", + "@changesets/changelog-git": "^0.2.0", + "@changesets/config": "^3.0.2", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/get-release-plan": "^4.0.3", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/should-skip-package": "^0.1.0", + "@changesets/types": "^6.0.0", + "@changesets/write": "^0.3.1", + "@manypkg/get-packages": "^1.1.3", + "@types/semver": "^7.5.0", + "ansi-colors": "^4.1.3", + "chalk": "^2.1.0", + "ci-info": "^3.7.0", + "enquirer": "^2.3.0", + "external-editor": "^3.1.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "mri": "^1.2.0", + "outdent": "^0.5.0", + "p-limit": "^2.2.0", + "preferred-pm": "^3.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "spawndamnit": "^2.0.0", + "term-size": "^2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@changesets/config": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.2.tgz", + "integrity": "sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==", + "dev": true, + "requires": { + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.1", + "@changesets/logger": "^0.1.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1", + "micromatch": "^4.0.2" + } + }, + "@changesets/errors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", + "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", + "dev": true, + "requires": { + "extendable-error": "^0.1.5" + } + }, + "@changesets/get-dependents-graph": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.1.tgz", + "integrity": "sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==", + "dev": true, + "requires": { + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "semver": "^7.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@changesets/get-release-plan": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.3.tgz", + "integrity": "sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/assemble-release-plan": "^6.0.3", + "@changesets/config": "^3.0.2", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, + "@changesets/get-version-range-type": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", + "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==", + "dev": true + }, + "@changesets/git": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.0.tgz", + "integrity": "sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "is-subdir": "^1.1.1", + "micromatch": "^4.0.2", + "spawndamnit": "^2.0.0" + } + }, + "@changesets/logger": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.0.tgz", + "integrity": "sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==", + "dev": true, + "requires": { + "chalk": "^2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@changesets/parse": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.0.tgz", + "integrity": "sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==", + "dev": true, + "requires": { + "@changesets/types": "^6.0.0", + "js-yaml": "^3.13.1" + } + }, + "@changesets/pre": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.0.tgz", + "integrity": "sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1" + } + }, + "@changesets/read": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.0.tgz", + "integrity": "sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/parse": "^0.4.0", + "@changesets/types": "^6.0.0", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "p-filter": "^2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@changesets/should-skip-package": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.0.tgz", + "integrity": "sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "@manypkg/get-packages": "^1.1.3" + } + }, + "@changesets/types": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", + "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==", + "dev": true + }, + "@changesets/write": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.1.tgz", + "integrity": "sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^6.0.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "prettier": "^2.7.1" + } + }, "@iarna/toml": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", "dev": true }, + "@manypkg/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.5.5", + "@types/node": "^12.7.1", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "@manypkg/get-packages": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", + "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.5.5", + "@changesets/types": "^4.0.1", + "@manypkg/find-root": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "^11.0.0", + "read-yaml-file": "^1.1.0" + }, + "dependencies": { + "@changesets/types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", + "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3795,6 +5685,12 @@ "dev": true, "optional": true }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, "@types/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", @@ -3826,6 +5722,18 @@ "debug": "4" } }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -3950,6 +5858,15 @@ "bcp-47-match": "^1.0.0" } }, + "better-path-resolve": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", + "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", + "dev": true, + "requires": { + "is-windows": "^1.0.0" + } + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -4017,6 +5934,16 @@ "get-intrinsic": "^1.0.2" } }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -4036,6 +5963,12 @@ "is-regex": "^1.0.3" } }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, "cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -4178,6 +6111,21 @@ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -4324,6 +6272,12 @@ "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, "dev-ip": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", @@ -4418,6 +6372,16 @@ "once": "^1.4.0" } }, + "enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + } + }, "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -4460,6 +6424,34 @@ "is-extendable": "^0.1.0" } }, + "extendable-error": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", + "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, "extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", @@ -4569,12 +6561,33 @@ "path-exists": "^4.0.0" } }, + "find-yarn-workspace-root2": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", + "dev": true, + "requires": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4722,6 +6735,35 @@ "has-symbols": "^1.0.2" } }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "dev": true, + "requires": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, "htmlparser2": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", @@ -4789,6 +6831,21 @@ "debug": "4" } }, + "human-id": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", + "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -4916,6 +6973,21 @@ "has-tostringtag": "^1.0.0" } }, + "is-subdir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", + "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", + "dev": true, + "requires": { + "better-path-resolve": "1.0.0" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -4977,6 +7049,21 @@ "esprima": "^4.0.0" } }, + "jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, "jstransformer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", @@ -5026,6 +7113,26 @@ "integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g==", "dev": true }, + "load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -5071,13 +7178,34 @@ "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", "dev": true }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": true + }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "yallist": "^4.0.0" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + }, + "dependencies": { + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } } }, "luxon": { @@ -5252,6 +7380,12 @@ "integrity": "sha512-8L8DwbdjjWwM/aNqj7BSoSn4G7SQLNiDcxCnMWbf506jojR6lNQ5YOmQqXEIE8u3C492UlkN4d0hQwz97+M1oQ==", "dev": true }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -5304,6 +7438,15 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, "node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -5371,6 +7514,27 @@ "wrappy": "1" } }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "outdent": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", + "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", + "dev": true + }, + "p-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", + "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", + "dev": true, + "requires": { + "p-map": "^2.0.0" + } + }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -5389,12 +7553,27 @@ "p-limit": "^2.2.0" } }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, "parse-srcset": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", @@ -5589,6 +7768,63 @@ "promise-each": "^2.2.0" } }, + "preferred-pm": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.4.tgz", + "integrity": "sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==", + "dev": true, + "requires": { + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "^2.2.0" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -5613,6 +7849,17 @@ "any-promise": "^0.1.0" } }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, "proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -5625,6 +7872,12 @@ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, "pug": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", @@ -5785,6 +8038,26 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "read-yaml-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", + "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.6.1", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -5872,6 +8145,18 @@ } } }, + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true + }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -5883,6 +8168,18 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -5948,6 +8245,12 @@ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", @@ -5959,13 +8262,10 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true }, "semver-compare": { "version": "1.0.0", @@ -5988,6 +8288,12 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -6006,6 +8312,53 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "spawndamnit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", + "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==", + "dev": true, + "requires": { + "cross-spawn": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -6042,6 +8395,21 @@ "safe-buffer": "~5.2.0" } }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, "strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", @@ -6103,6 +8471,12 @@ "readable-stream": "^3.1.1" } }, + "term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -6155,8 +8529,7 @@ "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true + "dev": true }, "unbzip2-stream": { "version": "1.4.3", @@ -6168,12 +8541,24 @@ "through": "^2.3.8" } }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -6211,6 +8596,46 @@ "isexe": "^2.0.0" } }, + "which-pm": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.2.0.tgz", + "integrity": "sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==", + "dev": true, + "requires": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + } + }, + "wireit": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/wireit/-/wireit-0.14.5.tgz", + "integrity": "sha512-K4ka9YBpSyD6pmFZYTJd4VpPsAiPT6j/fOtLzYgnKWlPIMM7lAZjQQ30H7urO+Lqx1Wvrw88tQHBz4njy+lglg==", + "dev": true, + "requires": { + "brace-expansion": "^4.0.0", + "chokidar": "^3.5.3", + "fast-glob": "^3.2.11", + "jsonc-parser": "^3.0.0", + "proper-lockfile": "^4.1.2" + }, + "dependencies": { + "balanced-match": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-3.0.1.tgz", + "integrity": "sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==", + "dev": true + }, + "brace-expansion": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-4.0.0.tgz", + "integrity": "sha512-l/mOwLWs7BQIgOKrL46dIAbyCKvPV7YJPDspkuc88rHsZRlg3hptUGdU7Trv0VFP4d3xnSGBQrKu5ZvGB7UeIw==", + "dev": true, + "requires": { + "balanced-match": "^3.0.0" + } + } + } + }, "with": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", @@ -6257,6 +8682,12 @@ "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 1854cb7..1c81642 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,16 @@ "types": "icons.d.ts", "type": "module", "scripts": { - "build": "eleventy && node build.js", - "optimize": "svgo src/**/*.svg", + "build": "wireit", + "serve": "wireit", + "optimize": "wireit", "test": "echo \"no tests yet\"" }, + "files": [ + "./dist/**/*.js", + "./dist/**/*.svg", + "!scripts" + ], "repository": { "type": "git", "url": "git+ssh://git@github.com/RedHat-UX/red-hat-icons.git" @@ -24,7 +30,8 @@ "author": "Red Had Icons Authors", "contributors": [ "Libby Levy", - "Benny Powers " + "Benny Powers ", + "Steven Spriggs " ], "license": "CC-BY-4.0", "bugs": { @@ -33,8 +40,42 @@ "homepage": "https://github.com/RedHat-UX/red-hat-icons#readme", "devDependencies": { "@11ty/eleventy": "^2.0.0-beta.3", + "@changesets/cli": "^2.27.7", "convert-svg-to-png": "^0.6.4", "globby": "^13.1.2", - "svgo": "^2.8.0" + "html-minifier": "^4.0.0", + "svgo": "^2.8.0", + "wireit": "^0.14.5" + }, + "wireit": { + "build": { + "command": "node build.js", + "dependencies": [ + "optimize", + "eleventy" + ], + "output": [ + "dist/**/*.{svg,js}" + ] + }, + "optimize": { + "command": "svgo ./src/**/*.svg", + "files": [ + "src/**/*.svg" + ] + }, + "eleventy": { + "command": "eleventy", + "files": [ + "index.html" + ], + "output": [ + "_site" + ] + }, + "serve": { + "service": true, + "command": "eleventy --serve" + } } } From 69e227319316f3e3a5f1d3dc455f4f1caee701e0 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Tue, 16 Jul 2024 16:02:03 -0400 Subject: [PATCH 04/27] chore: update repo path in workflow --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d878d13..fac1f80 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ on: jobs: release: # Prevents changesets action from creating a PR on forks - if: github.repository == 'rhds/icons' + if: github.repository == 'RedHat-UX/red-hat-icons' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From 4c8b8471ef3ca78d024c9b9ca1eb6ae196b9076f Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Tue, 16 Jul 2024 16:07:01 -0400 Subject: [PATCH 05/27] chore: update license --- build.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.js b/build.js index 8d74925..0af678c 100644 --- a/build.js +++ b/build.js @@ -8,7 +8,7 @@ const minifyOptions = { collapseWhitespace: true } -const license = 'Red Hat, Inc. Creative Commons 4.0'; +const license = 'Red Hat, Inc. CC-BY-4.0'; const getSVG = (svg) => htmlMinify.minify(`${svg}`, minifyOptions); From f788e556ea8797bb1bd42a6945ad4d601ac0d54d Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Tue, 16 Jul 2024 16:08:48 -0400 Subject: [PATCH 06/27] chore: add changeset config --- .changeset/config.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .changeset/config.json diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..6d2119a --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "restricted", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} From 157d027a86723e3258ce89621e936343c56ea063 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Wed, 24 Jul 2024 11:00:57 -0400 Subject: [PATCH 07/27] docs: add license information to readme and update LICENSE file to MIT --- LICENSE | 127 ++++++++---------------------------------------------- README.md | 117 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+), 108 deletions(-) diff --git a/LICENSE b/LICENSE index 41f75ce..bb0c2d7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,108 +1,19 @@ -Creative Commons Attribution 4.0 International - -Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. - -Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors - -Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. - -Section 1 – Definitions. - - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. - -Section 2 – Scope. - - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. - -Section 3 – License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. - -Section 4 – Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. - -Section 5 – Disclaimer of Warranties and Limitation of Liability. - - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. - -Section 6 – Term and Termination. - - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. - -Section 7 – Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. - -Section 8 – Interpretation. - - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. - -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. - -Creative Commons may be contacted at creativecommons.org. - +Copyright 2022 Red Hat, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 5b0bb93..f57e1ae 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,119 @@ # Red Hat Icons Official Red Hat Brand Icons + + +## Licensing + +The software contained in this repository as well as the artifacts contained and produced are covered by two separate licenses. A [MIT license](./LICENSE) covers the build scripts and configuration, as well as a [Creative Commons 4.0 License](#creative-commons-40) which covers the source and build icon artifacts including the SVG icons and JS module variants. + + +### Creative Commons 4.0 + +Creative Commons Attribution 4.0 International + +Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. + +Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors + +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope. + + a. License grant. + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + 3. Term. The term of this Public License is specified in Section 6(a). + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + 5. Downstream recipients. + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + b. Other rights. + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this Public License. + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + a. Attribution. + 1. If You Share the Licensed Material (including in modified form), You must: + A. retain the following if it is supplied by the Licensor with the Licensed Material: + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + ii. a copyright notice; + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of warranties; + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. + +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination. + + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + 2. upon express reinstatement by the Licensor. + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation. + + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. + +Creative Commons may be contacted at creativecommons.org. + From 8a8b7bd60312258d61d421e48120beb051f6ebc3 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Wed, 24 Jul 2024 15:46:30 -0400 Subject: [PATCH 08/27] chore: update package.json with correct license --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1c81642..06d7df7 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "Benny Powers ", "Steven Spriggs " ], - "license": "CC-BY-4.0", + "license": "MIT", "bugs": { "url": "https://github.com/RedHat-UX/red-hat-icons/issues" }, From d7bd841cc9576ea142afefdc60919b14176476eb Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Wed, 24 Jul 2024 15:47:26 -0400 Subject: [PATCH 09/27] chore: remove old changeset replace with updated --- .changeset/khaki-avocados-sort.md | 5 ----- .changeset/release-v1.md | 7 +++++++ 2 files changed, 7 insertions(+), 5 deletions(-) delete mode 100644 .changeset/khaki-avocados-sort.md create mode 100644 .changeset/release-v1.md diff --git a/.changeset/khaki-avocados-sort.md b/.changeset/khaki-avocados-sort.md deleted file mode 100644 index 15b9c12..0000000 --- a/.changeset/khaki-avocados-sort.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@rhds/icons": major ---- - -Renames, reorganizes and updates the icon sets. This is a major, breaking change. Consult the original [PR](https://github.com/RedHat-UX/red-hat-icons/pulls/5) to see all the changes. diff --git a/.changeset/release-v1.md b/.changeset/release-v1.md new file mode 100644 index 0000000..3a1d05d --- /dev/null +++ b/.changeset/release-v1.md @@ -0,0 +1,7 @@ +--- +"@rhds/icons": major +--- + +✨ Added Official Red Hat Brand Icons + +848 icons, in 4 sets. Microns, Social, Standard, and UI. \ No newline at end of file From 9b978a6f454d2d601d3b7201181802dee8ccf4b1 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Wed, 24 Jul 2024 15:47:48 -0400 Subject: [PATCH 10/27] docs: improve demo page --- index.html | 154 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 122 insertions(+), 32 deletions(-) diff --git a/index.html b/index.html index d634190..01a9097 100644 --- a/index.html +++ b/index.html @@ -11,6 +11,11 @@ font-size: var(--rh-font-size-body-text-md, 1rem); line-height: var(--rh-line-height-body-text, 1.5); } + header, + main { + margin: 0 auto; + max-width: 1330px; + } h1 { font-family: var(--rh-font-family-heading, RedHatDisplay, 'Red Hat Display', 'Noto Sans Arabic', 'Noto Sans Hebrew', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Malayalam', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans Thai', Helvetica, Arial, sans-serif); font-size: var(--rh-font-size-heading-lg, 2.25rem); @@ -22,32 +27,37 @@ display: flex; flex-wrap: wrap; gap: var(--rh-space-lg, 16px); - max-width: 80em; - margin-bottom: 2em; - & h2 { - margin-block-end: 0; - font-family: var(--rh-font-family-heading, RedHatDisplay, 'Red Hat Display', 'Noto Sans Arabic', 'Noto Sans Hebrew', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Malayalam', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans Thai', Helvetica, Arial, sans-serif); - font-size: var(--rh-font-size-heading-sm, 1.5rem); - width: 100%; - text-transform: capitalize; - } - figure { - margin: 0; - padding: var(--rh-space-lg, 16px); - width: 10em; - border: var(--rh-border-width-sm, 1px) solid var(--rh-color-border-subtle-on-light, #c7c7c7); - border-radius: var(--rh-border-radius-default, 3px); - text-align: center; - & figcaption { - margin-block-start: var(--rh-space-lg, 16px); - font-size: var(--rh-font-size-code-xs, 0.75rem); - } - } - & svg { - width: var(--rh-size-icon-03, 32px); - aspect-ratio: 1; - fill: var(--rh-color-brand-red-on-light, #ee0000); - } + margin-bottom: var(--rh-space-2xl, 32px); + } + + h2 { + margin-block-end: 0; + font-family: var(--rh-font-family-heading, RedHatDisplay, 'Red Hat Display', 'Noto Sans Arabic', 'Noto Sans Hebrew', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Malayalam', 'Noto Sans SC', 'Noto Sans TC', 'Noto Sans Thai', Helvetica, Arial, sans-serif); + font-size: var(--rh-font-size-heading-sm, 1.5rem); + width: 100%; + text-transform: capitalize; + } + + figure { + width: 8rem; + margin: 0; + padding: var(--rh-space-lg, 16px); + border: var(--rh-border-width-sm, 1px) solid var(--rh-color-border-subtle-on-light, #c7c7c7); + border-radius: var(--rh-border-radius-default, 3px); + text-align: center; + } + + figcaption { + display: flex; + flex-direction: column; + gap: var(--rh-space-lg, 16px); + margin-block-start: var(--rh-space-lg, 16px); + } + + figure svg { + width: var(--rh-size-icon-03, 32px); + aspect-ratio: 1; + fill: var(--rh-color-brand-red-on-light, #ee0000); } .microns figure svg { width: var(--rh-size-icon-01, 16px); @@ -58,10 +68,60 @@ footer { padding: var(--rh-space-2xl, 32px) 0; } + + rh-tooltip { + cursor: pointer; + } + + rh-button::part(button) { + display: flex; + flex-direction: row; + align-items: center; + gap: var(--rh-space-xs, 4px); + font-size: var(--rh-font-size-code-sm, 0.875rem); + } + + .sr-only { + border: 0 !important; + clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */ + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; /* 2 */ + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; /* 3 */ + } + + /* + Use in conjunction with .sr-only to only display content when it's focused. + @note Useful for skip links + @see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 + @note Based on a HTML5 Boilerplate technique, included in Bootstrap + @note Fixed a bug with position: static on iOS 10.0.2 + VoiceOver + @author Sylvain Pigeard + @see https://github.com/twbs/bootstrap/issues/20732 + */ + .sr-only-focusable:focus, + .sr-only-focusable:active { + clip: auto !important; + -webkit-clip-path: none !important; + clip-path: none !important; + height: auto !important; + margin: auto !important; + overflow: visible !important; + width: auto !important; + white-space: normal !important; + } + +

Red Hat Icons

{% for set in iconSets %} -
-

{{ set.set }}

+ {% set id = set.set | lower %} + + {% if set.set === "ui" %} + {% set section = set.set | upper %} + {% else %} + {% set section = set.set | capitalize %} + {% endif %} + +
+

{{ section }}

{% for icon in set.icons %}
{% include set.dir + '/' + icon + '.svg' %}
- + {{ icon }} + + + + Click to Copy rh-icon {{icon}} from set {{set}} +
<rh-icon set="{{ set.set }}" icon="{{ icon }}"></rh-icon>
- {{ icon }} -
+
{% endfor %} From 3c6115c0f1ef403a818219f69cdccad02f88de78 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Wed, 24 Jul 2024 15:52:15 -0400 Subject: [PATCH 11/27] docs: more layout improvements of demo --- index.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 01a9097..391ee45 100644 --- a/index.html +++ b/index.html @@ -39,6 +39,9 @@ } figure { + display: flex; + flex-direction: column; + align-items: center; width: 8rem; margin: 0; padding: var(--rh-space-lg, 16px); @@ -175,7 +178,7 @@ {% else %} {% set section = set.set | capitalize %} {% endif %} - +

{{ section }}

{% for icon in set.icons %} From 0b2cfb09888cd0918cb49709508e8dead7747b77 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Wed, 24 Jul 2024 15:53:46 -0400 Subject: [PATCH 12/27] docs: more layout improvements of demo again --- index.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 391ee45..1c77d61 100644 --- a/index.html +++ b/index.html @@ -41,13 +41,15 @@ figure { display: flex; flex-direction: column; - align-items: center; + place-items: center; + justify-content: center; width: 8rem; margin: 0; padding: var(--rh-space-lg, 16px); border: var(--rh-border-width-sm, 1px) solid var(--rh-color-border-subtle-on-light, #c7c7c7); border-radius: var(--rh-border-radius-default, 3px); text-align: center; + } figcaption { From 4f4fd5bc65410943a4c84d0de0add0385b78e1b3 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Wed, 24 Jul 2024 16:22:24 -0400 Subject: [PATCH 13/27] docs: add contribution guide --- CONTRIBUTING.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4b87bd1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,53 @@ +# Contributing + +## New Icon requests or contributions + +To contribute new icons or request new icons please reach out to [brand-design@redhat.com](mailto:brand-design@redhat.com) + +## Documentation +To work on this project's documentation first install the project on your local machine: + +1. [Install Node Version Manager](Install Node Version Manager) for your system. +2. Navigate to your project folder + ```bash + cd red-hat-icons + ``` +3. Run [Node Version Manager's](https://github.com/nvm-sh/nvm) `use` command to switch to the projects [Node](https://nodejs.org/en) version. + ```bash + nvm use + ``` + If prompted, follow the instructions for installing specific version of Node used by this project on your system, which will look similar to the following: + + `You need to run "nvm install v20.10.0" to install it before using it.` + +4. Install project dependencies, run `npm ci` + ```bash + npm ci + ``` +5. Start the development server + ```bash + npm run serve + ``` +6. Make your changes and [commit](#commit-changes) + +## Adding Icons +To add new icons, first obtain approval from [brand-design@redhat.com](mailto:brand-design@redhat.com) + +1. Setup the project locally, steps 1-4 above. +2. Once your project setup make changes to the files then run a build + ```bash + npm run build + ``` + Your svg files will then be compressed and optimized, new artifacts will be generated in `./dist` +3. Check your work in the demo + ```bash + npm run serve + ``` +4. [Commit](#commit-changes) your changes. + +## Commit Changes +1. Commit your changes using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) style. +2. Open a new PR and request team members for review. + + + From 4ad672df3a015004e389c2a76c375d715a58265c Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Wed, 24 Jul 2024 16:29:29 -0400 Subject: [PATCH 14/27] chore: update changeset --- .changeset/release-v1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/release-v1.md b/.changeset/release-v1.md index 3a1d05d..d299bdd 100644 --- a/.changeset/release-v1.md +++ b/.changeset/release-v1.md @@ -4,4 +4,4 @@ ✨ Added Official Red Hat Brand Icons -848 icons, in 4 sets. Microns, Social, Standard, and UI. \ No newline at end of file +848 icons, in 4 sets: Microns, Social, Standard, and UI. \ No newline at end of file From f72ee402d50950843fc938f039c32e46f748d15a Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Thu, 25 Jul 2024 09:26:40 -0400 Subject: [PATCH 15/27] docs: move CC 4.0 license out of readme to seperate file --- LICENSE_ICONS.md | 108 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 112 ----------------------------------------------- 2 files changed, 108 insertions(+), 112 deletions(-) create mode 100644 LICENSE_ICONS.md diff --git a/LICENSE_ICONS.md b/LICENSE_ICONS.md new file mode 100644 index 0000000..41f75ce --- /dev/null +++ b/LICENSE_ICONS.md @@ -0,0 +1,108 @@ +Creative Commons Attribution 4.0 International + +Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. + +Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors + +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope. + + a. License grant. + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + 3. Term. The term of this Public License is specified in Section 6(a). + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + 5. Downstream recipients. + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + b. Other rights. + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + 2. Patent and trademark rights are not licensed under this Public License. + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + a. Attribution. + 1. If You Share the Licensed Material (including in modified form), You must: + A. retain the following if it is supplied by the Licensor with the Licensed Material: + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + ii. a copyright notice; + iii. a notice that refers to this Public License; + iv. a notice that refers to the disclaimer of warranties; + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. + +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination. + + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + 2. upon express reinstatement by the Licensor. + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation. + + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. + +Creative Commons may be contacted at creativecommons.org. + diff --git a/README.md b/README.md index f57e1ae..49dffe0 100644 --- a/README.md +++ b/README.md @@ -5,115 +5,3 @@ Official Red Hat Brand Icons ## Licensing The software contained in this repository as well as the artifacts contained and produced are covered by two separate licenses. A [MIT license](./LICENSE) covers the build scripts and configuration, as well as a [Creative Commons 4.0 License](#creative-commons-40) which covers the source and build icon artifacts including the SVG icons and JS module variants. - - -### Creative Commons 4.0 - -Creative Commons Attribution 4.0 International - -Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. - -Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors - -Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public : wiki.creativecommons.org/Considerations_for_licensees - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. - -Section 1 – Definitions. - - a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. - i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. - -Section 2 – Scope. - - a. License grant. - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - A. reproduce and Share the Licensed Material, in whole or in part; and - B. produce, reproduce, and Share Adapted Material. - 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - 3. Term. The term of this Public License is specified in Section 6(a). - 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - 5. Downstream recipients. - A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - b. Other rights. - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - 2. Patent and trademark rights are not licensed under this Public License. - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. - -Section 3 – License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - - a. Attribution. - 1. If You Share the Licensed Material (including in modified form), You must: - A. retain the following if it is supplied by the Licensor with the Licensed Material: - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - ii. a copyright notice; - iii. a notice that refers to this Public License; - iv. a notice that refers to the disclaimer of warranties; - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. - -Section 4 – Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and - c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. - -Section 5 – Disclaimer of Warranties and Limitation of Liability. - - a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. - b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. - c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. - -Section 6 – Term and Termination. - - a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - 2. upon express reinstatement by the Licensor. - c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. - -Section 7 – Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. - -Section 8 – Interpretation. - - a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. - -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. - -Creative Commons may be contacted at creativecommons.org. - From 56413cac71b2dd1f60b912311f6e7cb2dcef98bf Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Thu, 25 Jul 2024 09:30:20 -0400 Subject: [PATCH 16/27] docs: reword readme to include JS Modules as MIT covered --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49dffe0..cdcaaeb 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,4 @@ Official Red Hat Brand Icons ## Licensing -The software contained in this repository as well as the artifacts contained and produced are covered by two separate licenses. A [MIT license](./LICENSE) covers the build scripts and configuration, as well as a [Creative Commons 4.0 License](#creative-commons-40) which covers the source and build icon artifacts including the SVG icons and JS module variants. +The software and icons contained and produced by build are covered by two separate licenses. A [MIT license](./LICENSE) covers the JS modules, build scripts and configuration, and the [Creative Commons 4.0 License](#creative-commons-40) covers the icons. From 494c994ff4431ec1b2fe92ad841e5c18f874e9d4 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Thu, 25 Jul 2024 09:32:25 -0400 Subject: [PATCH 17/27] docs: add changeset setup to contributing --- CONTRIBUTING.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4b87bd1..34dbdb9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,7 +47,11 @@ To add new icons, first obtain approval from [brand-design@redhat.com](mailto:br ## Commit Changes 1. Commit your changes using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) style. -2. Open a new PR and request team members for review. +2. Add a [changeset](https://github.com/changesets/changesets) + ```bash + npx changeset + ``` +3. Open a new PR and request team members for review. From f7bbc2fb7d440ccbc194a44019736665b78437a6 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Thu, 25 Jul 2024 15:06:35 -0400 Subject: [PATCH 18/27] docs: add extension to license file --- LICENSE => LICENSE.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LICENSE => LICENSE.md (100%) diff --git a/LICENSE b/LICENSE.md similarity index 100% rename from LICENSE rename to LICENSE.md From caeda7daf5b6eac2ec80256a399a0731ca5fdbd8 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Fri, 26 Jul 2024 09:43:22 -0400 Subject: [PATCH 19/27] docs: fix nvm link --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 34dbdb9..56b5165 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,7 +7,7 @@ To contribute new icons or request new icons please reach out to [brand-design@r ## Documentation To work on this project's documentation first install the project on your local machine: -1. [Install Node Version Manager](Install Node Version Manager) for your system. +1. [Node Version Manager's](https://github.com/nvm-sh/nvm) for your system. 2. Navigate to your project folder ```bash cd red-hat-icons From 1d8b112834da21171c32e094812c51c4530436bf Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Fri, 26 Jul 2024 09:47:36 -0400 Subject: [PATCH 20/27] docs: improve changesetinformation --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 56b5165..394d20d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -51,6 +51,7 @@ To add new icons, first obtain approval from [brand-design@redhat.com](mailto:br ```bash npx changeset ``` + For more information about changesets and how to use them please read the [changeset documentation](https://github.com/changesets/changesets?tab=readme-ov-file#documentation). 3. Open a new PR and request team members for review. From 7bb6342e8bddd5bcf52fd4a3afcd99a2b08d5aa1 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Fri, 26 Jul 2024 09:50:13 -0400 Subject: [PATCH 21/27] docs: improve readme --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index cdcaaeb..8cce081 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,21 @@ # Red Hat Icons + Official Red Hat Brand Icons +## Quickstart + +```bash +npm install @rhds/icons +``` + +## Contributing + +Please read the [contributing guide](./CONTRIBUTING.md) for more information. + +## Demo + +[Demo](https://red-hat-icons.netlify.app/) + ## Licensing From d103f4dadd894dc6e605251cf031088f23afbefb Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Fri, 26 Jul 2024 09:53:53 -0400 Subject: [PATCH 22/27] docs: fix broken set name in screen reader text --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 1c77d61..0cacd90 100644 --- a/index.html +++ b/index.html @@ -191,7 +191,7 @@

{{ section }}

- Click to Copy rh-icon {{icon}} from set {{set}} + Click to Copy rh-icon {{icon}} from set {{set.set}}
<rh-icon set="{{ set.set }}" icon="{{ icon }}"></rh-icon>
From 65ca85604e674e464a3f6f10f903c8bc7bf89a5b Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Fri, 26 Jul 2024 12:58:03 -0400 Subject: [PATCH 23/27] docs: add toast functionality, improve styles --- .../RedHatDisplay/RedHatDisplay-Bold.woff | Bin 0 -> 36920 bytes .../RedHatDisplay/RedHatDisplay-Medium.woff | Bin 0 -> 36532 bytes .../RedHatDisplay/RedHatDisplay-Regular.woff | Bin 0 -> 36432 bytes docs/fonts/RedHatText/RedHatText-Medium.woff | Bin 0 -> 37096 bytes docs/fonts/RedHatText/RedHatText-Regular.woff | Bin 0 -> 35980 bytes docs/index.html | 103 +++++++++ docs/javascript/toast.js | 80 +++++++ docs/styles/fonts.css | 49 +++++ docs/styles/page.css | 67 ++++++ docs/styles/reset.css | 53 +++++ docs/styles/styles.css | 121 +++++++++++ docs/styles/toast.css | 43 ++++ docs/styles/typography.css | 53 +++++ eleventy.config.cjs | 5 +- index.html | 205 ------------------ 15 files changed, 573 insertions(+), 206 deletions(-) create mode 100644 docs/fonts/RedHatDisplay/RedHatDisplay-Bold.woff create mode 100644 docs/fonts/RedHatDisplay/RedHatDisplay-Medium.woff create mode 100644 docs/fonts/RedHatDisplay/RedHatDisplay-Regular.woff create mode 100644 docs/fonts/RedHatText/RedHatText-Medium.woff create mode 100644 docs/fonts/RedHatText/RedHatText-Regular.woff create mode 100644 docs/index.html create mode 100644 docs/javascript/toast.js create mode 100644 docs/styles/fonts.css create mode 100644 docs/styles/page.css create mode 100644 docs/styles/reset.css create mode 100644 docs/styles/styles.css create mode 100644 docs/styles/toast.css create mode 100644 docs/styles/typography.css delete mode 100644 index.html diff --git a/docs/fonts/RedHatDisplay/RedHatDisplay-Bold.woff b/docs/fonts/RedHatDisplay/RedHatDisplay-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..c7fa1f3eaa49de8a01248551633642abb2f005b9 GIT binary patch literal 36920 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 literal 0 HcmV?d00001 diff --git a/docs/fonts/RedHatDisplay/RedHatDisplay-Regular.woff b/docs/fonts/RedHatDisplay/RedHatDisplay-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..c9a84dcb6c6b29f3d12bb013c31581edfafa9b4b GIT binary patch literal 36432 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 literal 0 HcmV?d00001 diff --git a/docs/fonts/RedHatText/RedHatText-Medium.woff b/docs/fonts/RedHatText/RedHatText-Medium.woff new file mode 100644 index 0000000000000000000000000000000000000000..76dd6133952671b45512db2b793e7bbde1e09550 GIT binary patch literal 37096 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 + + + + + Red Hat Icons + + + + + + + +

Red Hat Icons

+
+ {% for set in iconSets %} + {% set id = set.set | lower %} + + {% if set.set === "ui" %} + {% set section = set.set | upper %} + {% else %} + {% set section = set.set | capitalize %} + {% endif %} + +
+

{{ section }}

+ {% for icon in set.icons %} +
+ {% include set.dir + '/' + icon + '.svg' %} +
+ {{ icon }} + + + + Click to Copy rh-icon {{icon}} from set {{set.set}} + +
<rh-icon set="{{ set.set }}" icon="{{ icon }}"></rh-icon>
+
+
+
+ {% endfor %} +
{% endfor %} +
+ +
© Red Hat 2023
+ + diff --git a/docs/javascript/toast.js b/docs/javascript/toast.js new file mode 100644 index 0000000..da98170 --- /dev/null +++ b/docs/javascript/toast.js @@ -0,0 +1,80 @@ +/** + * Modified: Adam Argyle's Gui Challenges Toast + * https://github.com/argyleink/gui-challenges/blob/main/toast/toast.js + * Apache License https://github.com/argyleink/gui-challenges/blob/main/LICENSE + */ + +const init = () => { + const node = document.createElement('section') + node.classList.add('gui-toast-group') + + document.body.insertAdjacentElement("beforeend",node); + return node +} + +const createToast = text => { + const node = document.createElement('output') + const toast = document.querySelector('#toast').content.cloneNode(true); + toast.querySelector('p.text').innerText = text; + // node.innerText = text + node.appendChild(toast); + node.classList.add('gui-toast') + node.setAttribute('role', 'status') + node.setAttribute('aria-live', 'polite') + + return node +} + +const addToast = toast => { + const { matches:motionOK } = window.matchMedia( + '(prefers-reduced-motion: no-preference)' + ) + + Toaster.children.length && motionOK + ? flipToast(toast) + : Toaster.appendChild(toast) +} + +const Toast = text => { + let toast = createToast(text) + addToast(toast) + + return new Promise(async (resolve, reject) => { + await Promise.allSettled( + toast.getAnimations().map(animation => + animation.finished + ) + ) + Toaster.removeChild(toast) + resolve() + }) +} + +// https://aerotwist.com/blog/flip-your-animations/ +const flipToast = toast => { + // FIRST + const first = Toaster.offsetHeight + + // add new child to change container size + Toaster.appendChild(toast) + + // LAST + const last = Toaster.offsetHeight + + // INVERT + const invert = last - first + + // PLAY + const animation = Toaster.animate([ + { transform: `translateY(${invert}px)` }, + { transform: 'translateY(0)' } + ], { + duration: 150, + easing: 'ease-out', + }) + + animation.startTime = document.timeline.currentTime +} + +const Toaster = init() +export default Toast \ No newline at end of file diff --git a/docs/styles/fonts.css b/docs/styles/fonts.css new file mode 100644 index 0000000..300f706 --- /dev/null +++ b/docs/styles/fonts.css @@ -0,0 +1,49 @@ +@font-face { + font-family: RedHatDisplay; + src: url("../fonts/RedHatDisplay/RedHatDisplay-Regular.woff"); + + /* Modern Browsers */ + font-style: normal; + font-weight: 300; + text-rendering: optimizelegibility; +} + +@font-face { + font-family: RedHatDisplay; + src: url("../fonts/RedHatDisplay/RedHatDisplay-Medium.woff"); + + /* Modern Browsers */ + font-style: normal; + font-weight: 400; + text-rendering: optimizelegibility; +} + +@font-face { + font-family: RedHatDisplay; + src: url("../fonts/RedHatDisplay/RedHatDisplay-Bold.woff"); + + /* Modern Browsers */ + font-style: normal; + font-weight: 700; + text-rendering: optimizelegibility; +} + +@font-face { + font-family: RedHatText; + src: url("../fonts/RedHatText/RedHatText-Regular.woff"); + + /* Modern Browsers */ + font-style: normal; + font-weight: 400; + text-rendering: optimizelegibility; +} + +@font-face { + font-family: RedHatText; + src: url("../fonts/RedHatText/RedHatText-Medium.woff"); + + /* Modern Browsers */ + font-style: normal; + font-weight: 700; + text-rendering: optimizelegibility; +} \ No newline at end of file diff --git a/docs/styles/page.css b/docs/styles/page.css new file mode 100644 index 0000000..c07baf3 --- /dev/null +++ b/docs/styles/page.css @@ -0,0 +1,67 @@ +body { + padding: var(--rh-space-2xl, 32px); +} + +header, +main { + margin: 0 auto; + max-width: 1330px; +} + +section { + --rh-tooltip-max-width: 50em; + --rh-tooltip-content-padding-block-start: 0; + --rh-tooltip-content-padding-block-end: 0; + display: flex; + flex-wrap: wrap; + gap: var(--rh-space-lg, 16px); + margin-bottom: var(--rh-space-2xl, 32px); +} + +h1 { + margin-block-end: var(--rh-space-2xl, 32px); +} + +/* full row width in flex */ +h2 { + min-width: 100%; +} + +figure { + display: flex; + flex-direction: column; + place-items: center; + justify-content: center; + width: 8rem; + margin: 0; + padding: var(--rh-space-lg, 16px); + border: var(--rh-border-width-sm, 1px) solid var(--rh-color-border-subtle-on-light, #c7c7c7); + border-radius: var(--rh-border-radius-default, 3px); + text-align: center; + +} + +figcaption { + display: flex; + flex-direction: column; + gap: var(--rh-space-lg, 16px); + margin-block-start: var(--rh-space-lg, 16px); +} + +figure svg { + width: var(--rh-size-icon-03, 32px); + aspect-ratio: 1; + fill: var(--rh-color-brand-red-on-light, #ee0000); +} + +.microns figure svg { + width: var(--rh-size-icon-01, 16px); +} + +.standard figure svg { + width: var(--rh-size-icon-06, 64px); +} + +footer { + padding: var(--rh-space-2xl, 32px) 0; +} diff --git a/docs/styles/reset.css b/docs/styles/reset.css new file mode 100644 index 0000000..d8a110b --- /dev/null +++ b/docs/styles/reset.css @@ -0,0 +1,53 @@ + + /* Box sizing rules */ + *, + *:before, + *:after { + box-sizing: border-box; + } + + /* Remove default margin */ + :where(body, + h1, + h2, + h3, + h4, + p, + li, + figure, + figcaption, + blockquote, + dl, + dd) { + margin: 0; + } + + /* Default scroll behavior */ + html:focus-within { + scroll-behavior: smooth; + } + + /* Inherit fonts for inputs and buttons */ + :where(input, + button, + textarea, + select) { + font: inherit; + } + + /* Remove all animations and transitions for people that prefer not to see them */ + @media (prefers-reduced-motion: reduce) { + html:focus-within { + scroll-behavior: auto; + } + + *, + *:before, + *:after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } + } +} \ No newline at end of file diff --git a/docs/styles/styles.css b/docs/styles/styles.css new file mode 100644 index 0000000..1587eb9 --- /dev/null +++ b/docs/styles/styles.css @@ -0,0 +1,121 @@ +@layer + reset, + fonts, + typography, + base, + layout, + flow, + patterns, + page, + toast, + overrides; + +@import url("reset.css") layer(reset); +@import url("fonts.css") layer(fonts); +@import url("typography.css") layer(typography); +@import url("page.css") layer(page); +@import url("toast.css") layer(toast); + +@layer base { + body { + color: var(--rh-color-text-primary-on-light, #151515); + } + + :where(h1, h2, h3, h4, h5, h6) { + font-weight: var(--rh-font-weight-heading-medium, 500); + } + + a { + color: var(--rh-color-interactive-blue-darker, #0066cc); + } + + a:hover { + color: var(--rh-color-interactive-blue-darkest, #003366); + } + + a:visited { + color: var(--rh-color-interactive-purple-darker, #5e40be); + } + + hr { + border-block-start: + var(--rh-border-width-sm, 1px) + solid + var(--rh-color-border-subtle-on-light, #c7c7c7); + border-inline: none; + border-block-end: none; + margin-block-end: var(--rh-space-2xl, 32px); + } + + figure > img { + max-width: 100%; + } + + figcaption { + color: var(--rh-color-text-secondary-on-light, #4d4d4d); + } +} + +@layer layout { + /* layout styles here */ +} + +@layer flow { + /* flow styles here */ +} + +@layer patterns { + /* Screen reader only style */ + .sr-only { + border: 0 !important; + clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */ + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; /* 2 */ + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; /* 3 */ + } + + /* + Use in conjunction with .sr-only to only display content when it's focused. + @note Useful for skip links + @see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 + @note Based on a HTML5 Boilerplate technique, included in Bootstrap + @note Fixed a bug with position: static on iOS 10.0.2 + VoiceOver + @author Sylvain Pigeard + @see https://github.com/twbs/bootstrap/issues/20732 + */ + .sr-only-focusable:focus, + .sr-only-focusable:active { + clip: auto !important; + -webkit-clip-path: none !important; + clip-path: none !important; + height: auto !important; + margin: auto !important; + overflow: visible !important; + width: auto !important; + white-space: normal !important; + } +} + +@layer overrides { + rh-tooltip { + cursor: pointer; + } + + rh-button::part(button) { + display: flex; + flex-direction: row; + align-items: center; + gap: var(--rh-space-xs, 4px); + font-size: var(--rh-font-size-code-sm, 0.875rem); + } + + rh-alert { + min-width: 320px; + } +} \ No newline at end of file diff --git a/docs/styles/toast.css b/docs/styles/toast.css new file mode 100644 index 0000000..56f60e2 --- /dev/null +++ b/docs/styles/toast.css @@ -0,0 +1,43 @@ +.gui-toast-group { + position: fixed; + z-index: 1; + inset-block-start: var(--rh-space-lg, 16px); + inset-inline-end: var(--rh-space-lg, 16px);; + padding-block-end: var(--rh-space-4xl, 64px); + + display: grid; + justify-items: center; + justify-content: center; + gap: var(--rh-space-lg, 16px); + + /* optimizations */ + pointer-events: none; +} + +.gui-toast { + --_duration: 3s; + --_travel-distance: 0; + + pointer-events: all; + will-change: transform; + animation: + fade-in .3s ease, + slide-in .3s ease, + fade-out .3s ease var(--_duration); + + @media (--motionOK) { + --_travel-distance: var(--rh-space-4xl, 64px); + } +} + +@keyframes fade-in { + from { opacity: 0 } +} + +@keyframes fade-out { + to { opacity: 0 } +} + +@keyframes slide-in { + from { transform: translateY(var(--_travel-distance, var(--rh-space-lg, 16px))) } +} \ No newline at end of file diff --git a/docs/styles/typography.css b/docs/styles/typography.css new file mode 100644 index 0000000..846dfdb --- /dev/null +++ b/docs/styles/typography.css @@ -0,0 +1,53 @@ +body { + font-family: var(--rh-font-family-body-text, RedHatText, "Red Hat Text", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans KR", "Noto Sans Malayalam", "Noto Sans SC", "Noto Sans TC", "Noto Sans Thai", Helvetica, Arial, sans-serif); + font-size: 1rem; + line-height: var(--rh-line-height-body-text, 1.5); +} + +:where(h1, h2, h3, h4, h5, h6) { + font-family: var(--rh-font-family-heading, RedHatDisplay, "Red Hat Display", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans KR", "Noto Sans Malayalam", "Noto Sans SC", "Noto Sans TC", "Noto Sans Thai", Helvetica, Arial, sans-serif); + line-height: var(--rh-line-height-heading, 1.3); +} + +:where(code) { + font-family: var(--rh-font-family-code, RedHatMono, "Red Hat Mono", "Courier New", Courier, monospace); + line-height: var(--rh-line-height-code, 1.5); +} + +:where(kbd) { + font-family: var(--rh-font-family-body-text, RedHatText, "Red Hat Text", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans KR", "Noto Sans Malayalam", "Noto Sans SC", "Noto Sans TC", "Noto Sans Thai", Helvetica, Arial, sans-serif); + font-size: 1rem; + line-height: var(--rh-line-height-body-text, 1.5); +} + +:where(h1) { + font-size: var(--rh-font-size-heading-2xl, 3rem); +} + +:where(h2) { + font-size: var(--rh-font-size-heading-xl, 2.5rem); +} + +:where(h3) { + font-size: var(--rh-font-size-heading-lg, 2.25rem); +} + +:where(h4) { + font-size: var(--rh-font-size-heading-md, 1.75rem); +} + +:where(h5) { + font-size: var(--rh-font-size-heading-sm, 1.5rem); +} + +:where(h6) { + font-size: var(--rh-font-size-heading-xs, 1.25rem); +} + +:where(p) { + font-size: var(--rh-font-size-body-text-md, 1rem); +} + +:where(p, h1, h2, h3, h4, h5, h6, li) { + max-width: 56rem; +} diff --git a/eleventy.config.cjs b/eleventy.config.cjs index f9ae7a0..87d00f4 100644 --- a/eleventy.config.cjs +++ b/eleventy.config.cjs @@ -1,4 +1,7 @@ module.exports = function(eleventyConfig) { + eleventyConfig.addPassthroughCopy("./docs/styles/"); + eleventyConfig.addPassthroughCopy("./docs/fonts/"); + eleventyConfig.addPassthroughCopy("./docs/javascript/"); eleventyConfig.addGlobalData('iconSets', async function() { const { globby } = await import('globby'); const sets = await globby('./*', {cwd: 'src', onlyDirectories:true}); @@ -14,7 +17,7 @@ module.exports = function(eleventyConfig) { }) return { dir: { - input: '.', + input: './docs', }, markdownTemplateEngine: 'njk', htmlTemplateEngine: 'njk', diff --git a/index.html b/index.html deleted file mode 100644 index 0cacd90..0000000 --- a/index.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - Red Hat Icons - - - - - - - -

Red Hat Icons

-
{% for set in iconSets %} - {% set id = set.set | lower %} - - {% if set.set === "ui" %} - {% set section = set.set | upper %} - {% else %} - {% set section = set.set | capitalize %} - {% endif %} - -
-

{{ section }}

- {% for icon in set.icons %} -
- {% include set.dir + '/' + icon + '.svg' %} -
- {{ icon }} - - - - Click to Copy rh-icon {{icon}} from set {{set.set}} - -
<rh-icon set="{{ set.set }}" icon="{{ icon }}"></rh-icon>
-
-
-
- {% endfor %} -
{% endfor %} -
-
© Red Hat 2023
- - From 3ce3b83d926eec3d28f298e515ec79c9259d3ad0 Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Fri, 26 Jul 2024 13:05:32 -0400 Subject: [PATCH 24/27] docs: tweak figure style --- docs/styles/page.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/styles/page.css b/docs/styles/page.css index c07baf3..266717e 100644 --- a/docs/styles/page.css +++ b/docs/styles/page.css @@ -31,7 +31,7 @@ figure { display: flex; flex-direction: column; place-items: center; - justify-content: center; + justify-content: space-between; width: 8rem; margin: 0; padding: var(--rh-space-lg, 16px); From 0fa301369d21357f9ccb37fbe08e4b499f00d7df Mon Sep 17 00:00:00 2001 From: Steven Spriggs Date: Fri, 26 Jul 2024 14:39:30 -0400 Subject: [PATCH 25/27] docs: dont use toast variant, announces too much for screen reader --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index 284c31e..4516f10 100644 --- a/docs/index.html +++ b/docs/index.html @@ -93,7 +93,7 @@

{{ section }}

{% endfor %}