diff --git a/.commitlintrc b/.commitlintrc
new file mode 100644
index 0000000..0df1d25
--- /dev/null
+++ b/.commitlintrc
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "@commitlint/config-conventional"
+ ]
+}
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..f1cc3ad
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,15 @@
+# http://editorconfig.org
+
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+indent_size = 2
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+insert_final_newline = false
+trim_trailing_whitespace = false
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..1e27205
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,6 @@
+src/components.d.ts
+**/*.spec.ts
+**/*.spec.tsx
+**/*.e2e.ts
+**/*.d.ts
+stencil.config.ts
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..3ba5258
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,10 @@
+{
+ "extends": ["plugin:@typescript-eslint/recommended", "prettier"],
+ "parserOptions": {
+ "project": ["./tsconfig.json"]
+ },
+ "plugins": ["@typescript-eslint"],
+ "rules": {
+ "@typescript-eslint/no-explicit-any": "warn"
+ }
+}
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..2f04798
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,7 @@
+# read more about codeowners file here
+
+# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
+
+# Global owners
+
+- @Kajabi/dss-devs
diff --git a/.github/ISSUE_TEMPLATE/accessibility.md b/.github/ISSUE_TEMPLATE/accessibility.md
new file mode 100644
index 0000000..84b1d4d
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/accessibility.md
@@ -0,0 +1,32 @@
+---
+name: Accessibility Issue
+about: Report an accessibility or usability issue
+title: '[a11y] '
+labels: 'a11y'
+assignees: ''
+
+---
+
+## Environment
+
+- OS:
+- Browser:
+- Testing tool used:
+- Assistive technology used to verify:
+
+## Detailed description
+
+- What did you expect to happen?
+- What happened instead?
+- What WCAG 2.1 success criteria does the issue violate?
+
+## Steps to reproduce the issue
+
+1. Go to '...'
+2. Click on '...'
+3. Scroll down to '...
+
+## Additional Information
+
+- Screenshots or code
+- Notes
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..10b2636
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,42 @@
+---
+name: Bug Report 🐛
+about: Something isn't working as expected? Here is the right place to report.
+title: "[BUG] "
+labels: "bug"
+assignees: ""
+---
+
+## Detailed description
+
+A clear and concise description of what the bug is
+
+## Steps to reproduce
+
+Describe the steps to reproduce the behavior:
+
+1. Go to '...'
+2. Click on '...'
+3. Scroll down to '...
+
+## Expected behavior
+
+A clear and concise description of what you expected to happen.
+
+## Actual behavior
+
+A clear and concise description of what actually happens.
+
+## Screenshots
+
+If applicable, provide screenshots, videos, or gifs of issue.
+
+## Details about device, OS, browser (including versions)
+
+- Device:
+- OS:
+- Browser:
+- Version:
+
+## Additional context
+
+Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..3ba13e0
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1 @@
+blank_issues_enabled: false
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..e58a70a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: '[FEATURE]'
+labels: 'feature'
+assignees: ''
+
+---
+
+## Is your feature request related to a problem? Please describe.
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+## Describe the solution you'd like
+A clear and concise description of what you want to happen.
+
+## Describe alternatives you've considered
+A clear and concise description of any alternative solutions or features you've considered.
+
+## Additional context
+Add any other context or screenshots about the feature request here.
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 0000000..a5317f5
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,50 @@
+# Description
+
+Please include a summary of the change and which issue is fixed.
+Please also include relevant motivation and context.
+List any new dependencies or updates that are required for this change.
+
+Fixes #(issue)
+
+## Type of change
+
+Please delete options that are not relevant.
+If your type of change is not present, add that option.
+
+- [ ] Bug fix (non-breaking change which fixes an issue)
+- [ ] New feature (non-breaking change which adds functionality)
+- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
+- [ ] This change requires a documentation update
+
+# How Has This Been Tested?
+
+Please describe the tests you've added and run to verify your changes.
+Provide instructions so that we can reproduce.
+Please also list any relevant details for your test configuration.
+
+- [ ] unit tests
+- [ ] e2e tests
+- [ ] accessibility tests
+- [ ] tested manually
+- [ ] other:
+
+**Test Configuration**:
+
+- Pine versions:
+- OS:
+- Browsers:
+- Screen readers:
+- Misc:
+
+# Checklist:
+
+If not applicable, leave options unchecked.
+
+- [ ] My code follows the style guidelines of this project
+- [ ] I have performed a self-review of my code
+- [ ] I have commented my code, particularly in hard-to-understand areas
+- [ ] I have made corresponding changes to the documentation
+- [ ] My changes generate no new warnings
+- [ ] I have added tests that prove my fix is effective or that my feature works
+- [ ] New and existing tests pass locally with my changes
+- [ ] Design has QA'ed and approved this PR
diff --git a/.github/workflows/actions/build-icons/action.yml b/.github/workflows/actions/build-icons/action.yml
new file mode 100644
index 0000000..0dcfd50
--- /dev/null
+++ b/.github/workflows/actions/build-icons/action.yml
@@ -0,0 +1,66 @@
+name: 'Build Pine Icons'
+description: 'Build Pine Icon library'
+
+inputs:
+ node-version:
+ description: 'The version of node to use'
+ required: true
+
+runs:
+ using: 'composite'
+ steps:
+ - name: Check out latest
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ ref: ${{ github.event.pull_request.head.sha }}
+
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ inputs.node-version }}
+
+ - name: Verify NPM Cache
+ shell: bash
+ run: npm cache verify
+
+ - name: Get NPM cache directory
+ id: npm-cache-dir
+ shell: bash
+ run: echo "dir=$(npm config get cache)" >> ${GITHUB_OUTPUT}
+
+ - name: Cache node_modules
+ uses: actions/cache@v3
+ id: cache-node-modules
+ env:
+ cache-name: cache-node-modules
+ with:
+ path: ${{ steps.npm-cache-dir.outputs.dir }}
+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-
+
+ - name: Set SHA
+ uses: nrwl/nx-set-shas@v3
+
+ - name: Install Dependencies
+ if: steps.cache-node-modules.ouputs.cache-hit != true
+ run: npm ci
+ shell: bash
+
+ - name: Build Icons
+ run: npx nx run icons:build
+ shell: bash
+
+ - name: Upload Icons Build Archive
+ uses: ./.github/workflows/actions/upload-archive
+ with:
+ name: icons-build
+ output: IconsBuild.zip
+ paths: dist components icons www
+
+ - name: Upload Icons Source
+ uses: ./.github/workflows/actions/upload-archive
+ with:
+ name: icons-src
+ output: IconsSrc.zip
+ paths: src
diff --git a/.github/workflows/actions/download-archive/action.yml b/.github/workflows/actions/download-archive/action.yml
new file mode 100644
index 0000000..a458f7e
--- /dev/null
+++ b/.github/workflows/actions/download-archive/action.yml
@@ -0,0 +1,22 @@
+name: 'Download Archive'
+description: 'Downloads and unzips an archive that was uploaded'
+
+inputs:
+ path:
+ description: 'Input archive name'
+ filename:
+ description: 'Input the name of the file'
+ name:
+ description: 'Zip file name'
+
+runs:
+ using: 'composite'
+ steps:
+ - uses: actions/download-artifact@v3
+ with:
+ name: ${{ inputs.name }}
+ path: ${{ inputs. path }}
+
+ - name: Extract the Archive
+ run: unzip -q -o ${{ inputs.path }}/${{ inputs.filename }}
+ shel: bash
diff --git a/.github/workflows/actions/publish-npm/action.yml b/.github/workflows/actions/publish-npm/action.yml
new file mode 100644
index 0000000..3bab189
--- /dev/null
+++ b/.github/workflows/actions/publish-npm/action.yml
@@ -0,0 +1,59 @@
+name: Publish
+description: Publishes a package
+
+inputs:
+ folder:
+ default: './'
+ description: 'A folder containing a package.json file.'
+
+ preid:
+ default: ''
+ description: 'The prerelease id used when doing a prerelease.'
+
+ project:
+ description: 'The name of the project based on Nx naming.'
+
+ tag:
+ description: 'The tag to publish on NPM.'
+
+ token:
+ description: The NPM authentication token required to publish.
+
+ version:
+ description: The type of version to release.
+
+ working-directory:
+ description: 'The directory of the package.'
+
+runs:
+ using: 'composite'
+ steps:
+ - name: Setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20.x
+ registry-url: 'https://registry.npmjs.org'
+
+ - name: Install Dependencies
+ run: npm ci --ignore-scripts
+ shell: bash
+
+ - name: Update Version
+ run: npm version ${{ inputs.version }} --git-tag-version false --preid=${{ inputs.preid }}
+ shell: bash
+ working-directory: ${{ inputs.working-directory }}
+
+ - name: Run Build
+ run: npx nx run ${{ inputs.project }}:build
+ shell: bash
+
+ - name: Prepare NPM Token
+ run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} >> .npmrc
+ shell: bash
+ env:
+ NPM_TOKEN: ${{ inputs.token }}
+
+ - name: Publish to NPM
+ run: npm publish ${{ inputs.folder }} --tag ${{ inputs.tag }} --provenance --access public
+ shell: bash
+ working-directory: ${{ inputs.working-directory }}
diff --git a/.github/workflows/actions/test-lint/action.yml b/.github/workflows/actions/test-lint/action.yml
new file mode 100644
index 0000000..0e7842d
--- /dev/null
+++ b/.github/workflows/actions/test-lint/action.yml
@@ -0,0 +1,40 @@
+name: 'Test Lint'
+descriptions: 'Runs lint for affected projects'
+
+inputs:
+ node-version:
+ description: 'The version of node to use'
+ required: true
+
+runs:
+ using: 'composite'
+ steps:
+ - name: Check out latest
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ ref: ${{ github.event.pull_request.head.sha }}
+
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ inputs.node-version }}
+
+ - name: Cache node_modules
+ uses: actions/cache@v3
+ id: cache-node-modules
+ env:
+ cache-name: cache-node-modules
+ with:
+ path: ${{ steps.npm-cache-dir.outputs.dir }}
+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-
+
+ - name: Install Dependencies
+ if: steps.cache-node-modules.ouputs.cache-hit != true
+ run: npm ci
+ shell: bash
+
+ - name: Lint
+ run : npx nx affected --target=lint --parallel=3
+ shell: bash
diff --git a/.github/workflows/actions/test-spec/action.yml b/.github/workflows/actions/test-spec/action.yml
new file mode 100644
index 0000000..56753e1
--- /dev/null
+++ b/.github/workflows/actions/test-spec/action.yml
@@ -0,0 +1,40 @@
+name: 'Test Specs'
+descriptions: 'Runs specs for affected projects'
+
+inputs:
+ node-version:
+ description: 'The version of node to use'
+ required: true
+
+runs:
+ using: 'composite'
+ steps:
+ - name: Check out latest
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ ref: ${{ github.event.pull_request.head.sha }}
+
+ - uses: actions/setup-node@v3
+ with:
+ node-version: ${{ inputs.node-version }}
+
+ - name: Cache node_modules
+ uses: actions/cache@v3
+ id: cache-node-modules
+ env:
+ cache-name: cache-node-modules
+ with:
+ path: ${{ steps.npm-cache-dir.outputs.dir }}
+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-
+
+ - name: Install Dependencies
+ if: steps.cache-node-modules.ouputs.cache-hit != true
+ run: npm ci
+ shell: bash
+
+ - name: Lint
+ run : npx nx affected --target=test --parallel=3 --ci --coverage
+ shell: bash
diff --git a/.github/workflows/actions/upload-archive/action.yml b/.github/workflows/actions/upload-archive/action.yml
new file mode 100644
index 0000000..6b2af81
--- /dev/null
+++ b/.github/workflows/actions/upload-archive/action.yml
@@ -0,0 +1,22 @@
+name: 'Archive Upload'
+description: 'Zips and uploads an archive to be reused. Leverages Github upload-artifact'
+
+inputs:
+ paths:
+ description: 'Paths to files or directories to archive'
+ output:
+ description: 'The name of the output file'
+ name:
+ description: 'Zip filename'
+
+runs:
+ using: 'composite'
+ steps:
+ - name: Create Archive
+ run: zip -q -r ${{ inputs.output }} ${{ inputs.paths }}
+ shell: bash
+
+ - uses: actions/upload-artifact@v3
+ with:
+ name: ${{ inputs.name }}
+ path: ${{ inputs.output }}
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..713429d
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,55 @@
+name: 'Pine Framework Build'
+
+on:
+ push:
+ branches: [main, next]
+ pull_request:
+ branches: [ "**" ]
+
+# When pushing a new commit we should cancel
+# the previous run
+concurrency:
+ group: ${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build-icons:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node: ${{ fromJSON(vars.NODE_VERSIONS) }}
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ ref: ${{ github.event.pull_request.head.sha }}
+ - uses: ./.github/workflows/actions/build-icons
+ with:
+ node-version: ${{ matrix.node }}
+
+
+ test-lint:
+ needs: [build-icons]
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node: ${{ fromJSON(vars.NODE_VERSIONS) }}
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: ./.github/workflows/actions/test-lint
+ with:
+ node-version: ${{ matrix.node }}
+
+ test-specs:
+ needs: [build-icons]
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node: ${{ fromJSON(vars.NODE_VERSIONS) }}
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: ./.github/workflows/actions/test-spec
+ with:
+ node-version: ${{ matrix.node }}
diff --git a/.github/workflows/icon-export.yml b/.github/workflows/icon-export.yml
new file mode 100644
index 0000000..5498a04
--- /dev/null
+++ b/.github/workflows/icon-export.yml
@@ -0,0 +1,116 @@
+name: 'Run Icon Update'
+
+on:
+ workflow_call:
+ inputs:
+ preid:
+ description: 'The prerelease id used when doing a prerelease.'
+ type: string
+ default: ''
+
+ tag:
+ description: 'The tag to publish to NPM'
+ type: string
+ default: latest
+
+ version:
+ description: The type of version to release.
+ type: string
+
+ secrets:
+ FIGMA_ACCESS_TOKEN:
+ description: "The personal access token created in Figma"
+ required: true
+
+ FIGMA_FILE_ID:
+ description: "The file id for the Figma file"
+ required: true
+
+jobs:
+ update-icons:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ id-token: write
+ outputs:
+ versionInfo: ${{ steps.version-type-info.outputs.VERSION_INFO }}
+ nextVersionType: ${{ steps.split-version-info.outputs._0 }}
+ preid: ${{ steps.split-version-info.outputs._1 }}
+ latestSha: ${{ steps.latest-sha.outputs.LATEST_SHA}}
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20.x
+
+ - name: Configure user
+ run: |
+ git config user.name "Kajabi Automation Bot"
+ git config user.email "dev+github-bot@kajabi.com"
+
+ - name: Get npm cache directory
+ id: npm-cache-dir
+ shell: bash
+ run: echo "dir=$(npm config get cache)" >> ${GITHUB_OUTPUT}
+
+ - name: Cache node_modules
+ uses: actions/cache@v3
+ id: cache-node-modules
+ env:
+ cache-name: cache-node-modules
+ with:
+ path: ${{ steps.npm-cache-dir.outputs.dir }}
+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-
+
+ - name: Install Dependencies
+ run: npm ci
+ shell: bash
+
+ - name: Running Icon Export
+ run: npx nx run ideal-octo-sniffle:update
+ env:
+ FIGMA_ACCESS_TOKEN: ${{ secrets.FIGMA_ACCESS_TOKEN }}
+ FIGMA_FILE_ID: ${{ secrets.FIGMA_FILE_ID }}
+
+ - name: Determine next version type
+ id: version-type-info
+ run: |
+ echo "VERSION_INFO=$(node ./.scripts/update-icon-version.js '${{ inputs.version }}' '${{ inputs.preid }}')" >> $GITHUB_OUTPUT
+ shell: bash
+
+ - name: Push Icon changes and Tags
+ if: ${{ success() }}
+ run: git push --follow-tags
+ shell: bash
+
+ - name: Output latest SHA
+ id: latest-sha
+ run: echo "LATEST_SHA=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
+
+ - name: Split version info
+ uses: xom9ikk/split@v1.1
+ id: split-version-info
+ with:
+ string: ${{ steps.version-type-info.outputs.VERSION_INFO }}
+ separator: ','
+ limit: 2
+
+ release:
+ needs: update-icons
+ uses: ./.github/workflows/release-icons.yml
+ if: ${{ needs.update-icons.outputs.nextVersionType != '' }}
+ with:
+ preid: ${{ needs.update-icons.outputs.preid }}
+ ref: 'main'
+ tag: ${{ inputs.tag }}
+ version: ${{ needs.update-icons.outputs.nextVersionType }}
+ secrets:
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
+
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
new file mode 100644
index 0000000..7aa69c7
--- /dev/null
+++ b/.github/workflows/nightly.yml
@@ -0,0 +1,45 @@
+name: "Pine Nightly Automations"
+
+on:
+ workflow_dispatch:
+ inputs:
+ preid:
+ type: choice
+ description: Which prerelease id should be used? This is only needed when a version is "prepatch", "preminor", "premajor", or "prerelease".
+ options:
+ - ''
+ - alpha
+ - beta
+ - rc
+ - next
+
+ tag:
+ type: choice
+ required: true
+ description: Which npm tag should this be published to
+ options:
+ - latest
+ - next
+ - dev
+
+ version:
+ type: choice
+ description: Which version should be published?
+ options:
+ - ''
+ - patch
+ - minor
+ - major
+ - prepatch
+ - preminor
+ - premajor
+ - prerelease
+
+jobs:
+ export-icons:
+ uses: ./.github/workflows/icon-export.yml
+ with:
+ preid: ${{ inputs.preid || '' }}
+ tag: ${{ inputs.tag || 'nightly' }}
+ version: ${{inputs.version || '' }}
+ secrets: inherit
diff --git a/.github/workflows/release-icons.yml b/.github/workflows/release-icons.yml
new file mode 100644
index 0000000..79ef6fc
--- /dev/null
+++ b/.github/workflows/release-icons.yml
@@ -0,0 +1,63 @@
+name: 'Release Icons'
+
+on:
+ workflow_call:
+ inputs:
+ preid:
+ description: 'The prerelease id used when doing a prerelease. e.g prerelease, premajor, preminor, etc.'
+ type: string
+ default: ''
+
+ ref:
+ description: 'This could be the SHA generated from update-icon-version in Icon Export job or the Branch name.'
+ type: string
+ default: ''
+
+ tag:
+ description: 'The tag to publish on NPM.'
+ required: true
+ type: string
+
+ version:
+ description: 'The type of version to release.'
+ required: true
+ type: string
+
+ secrets:
+ NPM_TOKEN:
+ required: true
+
+jobs:
+ release-icons:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ id-token: write
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ ref: ${{ inputs.ref }}
+
+ - name: Configure user
+ run: |
+ git config user.name "Kajabi Automation Bot"
+ git config user.email "dev+github-bot@kajabi.com"
+
+ - name: Publish Icons
+ uses: ./.github/workflows/actions/publish-npm
+ with:
+ preid: ${{ inputs.preid }}
+ project: 'ideal-octo-sniffle'
+ tag: ${{ inputs.tag }}
+ token: ${{ secrets.NPM_TOKEN }}
+ version: ${{ inputs.version }}
+ working-directory: './'
+
+ - name: Commmit version bump
+ run: |
+ git add package.json package-lock.json
+ git commit -m "chore: update package lock files for version bump"
+ git push --follow-tags
+ shell: bash
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..92ed666
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,31 @@
+dist/
+www/
+loader/
+/components/
+icons/
+scripts/**/*.js
+
+*~
+*.sw[mnpcod]
+*.log
+*.lock
+*.tmp
+*.tmp.*
+log.txt
+*.sublime-project
+*.sublime-workspace
+
+.stencil/
+.idea/
+.vscode/
+.sass-cache/
+.versions/
+node_modules/
+$RECYCLE.BIN/
+
+.DS_Store
+Thumbs.db
+UserInterfaceState.xcuserstate
+.env
+
+
diff --git a/.husky/commit-msg b/.husky/commit-msg
new file mode 100755
index 0000000..e998e31
--- /dev/null
+++ b/.husky/commit-msg
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+npx --no -- commitlint --edit "${1}"
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 0000000..2718a1d
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+npx lint-staged --relative
diff --git a/.husky/pre-push b/.husky/pre-push
new file mode 100755
index 0000000..0c71b94
--- /dev/null
+++ b/.husky/pre-push
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+npx validate-branch-name
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000..209e3ef
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+20
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..b96c8cb
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,12 @@
+{
+ "arrowParens": "always",
+ "bracketSpacing": true,
+ "jsxSingleQuote": false,
+ "printWidth": 180,
+ "quoteProps": "consistent",
+ "semi": true,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "trailingComma": "all",
+ "useTabs": false
+}
diff --git a/.scripts/prepare.js b/.scripts/prepare.js
new file mode 100644
index 0000000..2ab7017
--- /dev/null
+++ b/.scripts/prepare.js
@@ -0,0 +1,4 @@
+const isCi = process.env.CI !== undefined
+if (!isCi) {
+ require('husky').install;
+}
diff --git a/.scripts/update-icon-version.js b/.scripts/update-icon-version.js
new file mode 100644
index 0000000..04fcc39
--- /dev/null
+++ b/.scripts/update-icon-version.js
@@ -0,0 +1,138 @@
+const simpleGit = require('simple-git');
+const path = require('path');
+const { execSync } = require('node:child_process')
+const fs = require('fs-extra');
+
+const baseIconsPath = path.join(process.cwd())
+const srcIconsBasePath = path.join(baseIconsPath, 'src');
+const srcSvgBasePath = path.join(srcIconsBasePath, 'svg');
+const changelogsPath = path.join(baseIconsPath, 'changelogs');
+
+/**
+ * Creates an instance of the SimpleGit object
+ * @param options - list of SimpleGitOptions
+ * @returns SimpleGit client
+ */
+const gitClient = (options={baseDir: srcSvgBasePath, binary: 'git'} ) => {
+ return simpleGit(options);
+}
+
+/**
+ *
+ * @param {*} nextVersionType - The type of version that will be performed
+ * @param {*} preid - The prereleaese identifier if type is `pre*`
+ */
+const run = async (nextVersionType = null, preid='') => {
+ let git = gitClient();
+
+ await git.add(srcSvgBasePath);
+ const statusResults = await git.status([srcSvgBasePath]);
+
+ const { created, deleted, modified, renamed } = statusResults;
+
+ if ( nextVersionType === null ) {
+ if ( deleted.length > 0 || renamed.length > 0) {
+ nextVersionType = 'major';
+ } else if (modified.length > 0 || created.length > 0 ) {
+ nextVersionType = 'minor';
+ }
+ }
+
+ try {
+ if (nextVersionType === null) {
+ console.error('Version has not been set please check raw logs to resolve issue');
+ process.exit();
+ }
+
+ git = git.cwd(process.cwd())
+
+ await git.stash(['save', '--include-untracked']);
+ const iconPkgVersion = await getNextVersion(nextVersionType, preid);
+ await git.stash(['pop']);
+
+ if (iconPkgVersion == null)
+ throw Error('Icon package version could not be determined')
+
+ await updateChangelogFile(iconPkgVersion)
+ await git.add([
+ srcSvgBasePath, // svgs
+ changelogsPath, // Changelogs
+ path.join(srcIconsBasePath, 'index.html'), // updated homepage with new changelog file
+ path.join(srcIconsBasePath, 'icon-data.json'), // icon data
+ ])
+
+ const msg = `created: ${created.length}, modified: ${modified.length}, renamed: ${renamed.length}, deleted: ${deleted.length}`
+ await git.commit(`ci(icons): v${iconPkgVersion}, ${msg}`)
+ await git.tag([`@pine-ds/icons@${iconPkgVersion}`, '-a', '-m', msg]);
+
+ const output = [nextVersionType];
+ if (preid != '' )
+ output.push(preid)
+
+ console.log(output.join(','));
+ }
+ catch (e) {
+ console.error(`Error occurred: ${e}`);
+ process.exit();
+ // await git.stash(['drop']); // Delete the stash created in the Run process;
+ }
+}
+
+/**
+ *
+ * Will get the next version based on the type of
+ * version.
+ * @param nextVersionType - The type of version to run e.g major, minor
+ * @returns string - the next version that the package will be
+ */
+const getNextVersion = async (nextVersionType, preid) => {
+ let command = `npm version ${nextVersionType} --no-git-tag-version`
+
+ if (nextVersionType.startsWith('pre')) {
+ command = command.concat(` --preid ${preid}`);
+ }
+
+ try {
+ const _npmVersionProcess = execSync(command)
+ const packageJSON = path.join(process.cwd(), 'package.json')
+ const version = require(packageJSON).version;
+
+ return version;
+
+ }
+ catch (err) {
+ throw Error(`An Error occurred during Versioning: ${err.stderr.toString()}`);
+ }
+}
+
+/**
+ * Adds the version number to the created Changelog
+ *
+ * @param iconPkgVersion - The version number that will be added to the Changelog header
+ */
+const updateChangelogFile = async (iconPkgVersion) => {
+ const date = new Date();
+ const strDate = [date.getFullYear().toString(), (date.getMonth() + 1).toString().padStart(2,'0'), date.getDate().toString().padStart(2,'0')].join('-');
+
+ const changelogFilename = `${strDate}-changelog.html`
+ const fullChangelogFilename = path.join(changelogsPath, changelogFilename)
+
+ const html = fs.readFileSync(fullChangelogFilename, 'utf8')
+ .replace(/{{version}}/g, `v${iconPkgVersion}`)
+
+ // Write file to changelogs directory
+ fs.writeFileSync(fullChangelogFilename, html);
+}
+
+let [,,versionType, preVersionId] = process.argv;
+
+if ((versionType?.startsWith('pre')) && (preVersionId === '' )) {
+ throw Error('When using a pre version type, you must include a preVersionId e.g alpha, beta, rc, etc')
+}
+
+if (versionType !== '') {
+ run(versionType, preVersionId);
+}
+else {
+ run();
+}
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..b442934
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018
+
+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.
diff --git a/catalog-info.yaml b/catalog-info.yaml
new file mode 100644
index 0000000..cf8e076
--- /dev/null
+++ b/catalog-info.yaml
@@ -0,0 +1,14 @@
+apiVersion: backstage.io/v1alpha1
+kind: Component
+metadata:
+ name: pine-icons
+ description: The icons library for the Pine design system
+ tags:
+ - javascript
+ - typescript
+spec:
+ type: library
+ lifecycle: production
+ owner: design-system-services
+ system: pine
+ subcomponentOf: pine
diff --git a/changelogs/.gitkeep b/changelogs/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/changelogs/2023-10-03-changelog.html b/changelogs/2023-10-03-changelog.html
new file mode 100644
index 0000000..29ab6d8
--- /dev/null
+++ b/changelogs/2023-10-03-changelog.html
@@ -0,0 +1,1397 @@
+
+
+
+
+ 2023-10-03 - v1.0.0 Changelog
+
+
+
+2023-10-03 - {{version}} Changelog
+
+Files: Modifed 0 , Renamed 0 , Deleted 0 , Created 260
+
+
+Info
+Added icons are new icons that have been introduced in this version. You won't see these icons listed in the "before" column because they did not exist in the previous version.
+
+
Modified icons have undergone some changes since the previous version, which could be a visual change or a change to the code behind the icon. If an icon has undergone a visible change,
+you will see the difference between the "before" and "after" columns. However, if the change was only to the code, you may not notice any difference in the icon's appearance, but it will
+still be listed in the “modified” category
+
+Deleted icons were present in the previous version but have been removed in this version. You will not see these icons listed in the "after" column because they are no longer available
+in the current version.
+
+Renamed icons were present in the previous version but have been renamed in this version. You will see a "Previous" and a "New" filename column. You will not see any visual change
+in the "before" or "after" column.
+
+Added
+
+
+
+
+ FileName
+ Before
+ After
+
+
+
+
+
+ access-key.svg
+
+
+
+
+ add-circle.svg
+
+
+
+
+ add-image.svg
+
+
+
+
+ add-small.svg
+
+
+
+
+ add.svg
+
+
+
+
+ ai-sparkle.svg
+
+
+
+
+ ai-writer-filled.svg
+
+
+
+
+ ai-writer.svg
+
+
+
+
+ align-center.svg
+
+
+
+
+ align-justify.svg
+
+
+
+
+ align-left.svg
+
+
+
+
+ align-right.svg
+
+
+
+
+ analytics-filled.svg
+
+
+
+
+ analytics-outline.svg
+
+
+
+
+ app-store.svg
+
+
+
+
+ archive.svg
+
+
+
+
+ arrow-corner.svg
+
+
+
+
+ arrow-down.svg
+
+
+
+
+ arrow-left.svg
+
+
+
+
+ arrow-right.svg
+
+
+
+
+ arrow-up.svg
+
+
+
+
+ assessment.svg
+
+
+
+
+ at-sign.svg
+
+
+
+
+ attach.svg
+
+
+
+
+ automations.svg
+
+
+
+
+ ban.svg
+
+
+
+
+ bank.svg
+
+
+
+
+ bell.svg
+
+
+
+
+ blog.svg
+
+
+
+
+ bold.svg
+
+
+
+
+ broadcast.svg
+
+
+
+
+ calendar-date.svg
+
+
+
+
+ calendar-schedule.svg
+
+
+
+
+ calendar-simple.svg
+
+
+
+
+ card-bw-amex.svg
+
+
+
+
+ card-bw-apple-card.svg
+
+
+
+
+ card-bw-diners-club.svg
+
+
+
+
+ card-bw-discover.svg
+
+
+
+
+ card-bw-gpay-card.svg
+
+
+
+
+ card-bw-mastercard.svg
+
+
+
+
+ card-bw-paypal.svg
+
+
+
+
+ card-bw-stripe.svg
+
+
+
+
+ card-bw-visa.svg
+
+
+
+
+ card-update.svg
+
+
+
+
+ caret-down.svg
+
+
+
+
+ caret-left.svg
+
+
+
+
+ caret-right.svg
+
+
+
+
+ caret-up.svg
+
+
+
+
+ cart-add.svg
+
+
+
+
+ cart.svg
+
+
+
+
+ certificate.svg
+
+
+
+
+ check-circle-filled.svg
+
+
+
+
+ check-circle.svg
+
+
+
+
+ check.svg
+
+
+
+
+ circle-1.svg
+
+
+
+
+ circle-2.svg
+
+
+
+
+ circle-3.svg
+
+
+
+
+ circle-4.svg
+
+
+
+
+ circle-5.svg
+
+
+
+
+ circle-6.svg
+
+
+
+
+ circle-7.svg
+
+
+
+
+ circle-8.svg
+
+
+
+
+ circle-9.svg
+
+
+
+
+ clock.svg
+
+
+
+
+ closed-captions.svg
+
+
+
+
+ code.svg
+
+
+
+
+ color.svg
+
+
+
+
+ columns.svg
+
+
+
+
+ comment.svg
+
+
+
+
+ connect.svg
+
+
+
+
+ contact.svg
+
+
+
+
+ contacts-filled.svg
+
+
+
+
+ contacts-outline.svg
+
+
+
+
+ conversation.svg
+
+
+
+
+ copy.svg
+
+
+
+
+ coupon.svg
+
+
+
+
+ course.svg
+
+
+
+
+ creator-studio-filled.svg
+
+
+
+
+ creator-studio.svg
+
+
+
+
+ credit-card.svg
+
+
+
+
+ custom-field.svg
+
+
+
+
+ customize.svg
+
+
+
+
+ danger-filled.svg
+
+
+
+
+ danger.svg
+
+
+
+
+ dashboard-filled.svg
+
+
+
+
+ dashboard-outline.svg
+
+
+
+
+ delete-circle.svg
+
+
+
+
+ delete-key.svg
+
+
+
+
+ delete-x.svg
+
+
+
+
+ dollar-sign.svg
+
+
+
+
+ dot-menu-horizontal.svg
+
+
+
+
+ down-small.svg
+
+
+
+
+ download.svg
+
+
+
+
+ downsell.svg
+
+
+
+
+ draft.svg
+
+
+
+
+ drop.svg
+
+
+
+
+ duplicate.svg
+
+
+
+
+ email-activity.svg
+
+
+
+
+ emoji.svg
+
+
+
+
+ enlarge-vertical.svg
+
+
+
+
+ enlarge.svg
+
+
+
+
+ expand.svg
+
+
+
+
+ facebook-2.svg
+
+
+
+
+ facebook.svg
+
+
+
+
+ favorite.svg
+
+
+
+
+ feedback.svg
+
+
+
+
+ file-money.svg
+
+
+
+
+ file.svg
+
+
+
+
+ filter.svg
+
+
+
+
+ flag.svg
+
+
+
+
+ folder-group.svg
+
+
+
+
+ folder.svg
+
+
+
+
+ form-field.svg
+
+
+
+
+ form.svg
+
+
+
+
+ fullscreen.svg
+
+
+
+
+ funnel.svg
+
+
+
+
+ grant-offer.svg
+
+
+
+
+ handle-2-vertical.svg
+
+
+
+
+ handle-2.svg
+
+
+
+
+ handle.svg
+
+
+
+
+ hashtag.svg
+
+
+
+
+ heading-large.svg
+
+
+
+
+ heading-small.svg
+
+
+
+
+ headset.svg
+
+
+
+
+ help-filled.svg
+
+
+
+
+ help-outline.svg
+
+
+
+
+ home-alt.svg
+
+
+
+
+ horizontal-line.svg
+
+
+
+
+ image.svg
+
+
+
+
+ info-circle-filled.svg
+
+
+
+
+ info-circle.svg
+
+
+
+
+ instagram.svg
+
+
+
+
+ ios-battery.svg
+
+
+
+
+ ios-data.svg
+
+
+
+
+ ios-wifi.svg
+
+
+
+
+ italic.svg
+
+
+
+
+ kajabi-filled.svg
+
+
+
+
+ kajabi-outlined.svg
+
+
+
+
+ lab.svg
+
+
+
+
+ launch.svg
+
+
+
+
+ layout-grid.svg
+
+
+
+
+ layout-list.svg
+
+
+
+
+ left-small.svg
+
+
+
+
+ linkedin.svg
+
+
+
+
+ list-bullet.svg
+
+
+
+
+ list-numbers.svg
+
+
+
+
+ location.svg
+
+
+
+
+ lock-alt.svg
+
+
+
+
+ lock.svg
+
+
+
+
+ logo-afterpay.svg
+
+
+
+
+ loop.svg
+
+
+
+
+ mail.svg
+
+
+
+
+ mapped.svg
+
+
+
+
+ margin-left.svg
+
+
+
+
+ margin-right.svg
+
+
+
+
+ marker-filled.svg
+
+
+
+
+ marker.svg
+
+
+
+
+ marketing-filled.svg
+
+
+
+
+ marketing-outline.svg
+
+
+
+
+ menu-2.svg
+
+
+
+
+ menu-alt.svg
+
+
+
+
+ menu.svg
+
+
+
+
+ merge.svg
+
+
+
+
+ microphone-off.svg
+
+
+
+
+ microphone.svg
+
+
+
+
+ move-left.svg
+
+
+
+
+ move-right.svg
+
+
+
+
+ multi-pay.svg
+
+
+
+
+ newsletter.svg
+
+
+
+
+ one-off-session.svg
+
+
+
+
+ one-time.svg
+
+
+
+
+ partners-filled.svg
+
+
+
+
+ partners-outline.svg
+
+
+
+
+ pause-circle.svg
+
+
+
+
+ pause.svg
+
+
+
+
+ payout.svg
+
+
+
+
+ pen.svg
+
+
+
+
+ phone-portrait.svg
+
+
+
+
+ phone-toolbar.svg
+
+
+
+
+ play-circle.svg
+
+
+
+
+ play-outline.svg
+
+
+
+
+ play-store.svg
+
+
+
+
+ play.svg
+
+
+
+
+ plug.svg
+
+
+
+
+ present.svg
+
+
+
+
+ preview-off.svg
+
+
+
+
+ preview-on.svg
+
+
+
+
+ products-filled.svg
+
+
+
+
+ products-outline.svg
+
+
+
+
+ question-circle.svg
+
+
+
+
+ quote.svg
+
+
+
+
+ redo.svg
+
+
+
+
+ refresh.svg
+
+
+
+
+ remove-circle.svg
+
+
+
+
+ remove.svg
+
+
+
+
+ rename.svg
+
+
+
+
+ reset-password.svg
+
+
+
+
+ restore.svg
+
+
+
+
+ right-small.svg
+
+
+
+
+ round-dollar.svg
+
+
+
+
+ rows.svg
+
+
+
+
+ sales-filled.svg
+
+
+
+
+ sales-outline.svg
+
+
+
+
+ scissor.svg
+
+
+
+
+ screen-share-off.svg
+
+
+
+
+ screen-share-on.svg
+
+
+
+
+ search-small.svg
+
+
+
+
+ search.svg
+
+
+
+
+ send-message.svg
+
+
+
+
+ sequences.svg
+
+
+
+
+ series.svg
+
+
+
+
+ settings-filled.svg
+
+
+
+
+ settings-outline.svg
+
+
+
+
+ share.svg
+
+
+
+
+ skipped.svg
+
+
+
+
+ slash-divider.svg
+
+
+
+
+ sparkle-filled.svg
+
+
+
+
+ sparkle.svg
+
+
+
+
+ speaker.svg
+
+
+
+
+ stack.svg
+
+
+
+
+ star.svg
+
+
+
+
+ stop.svg
+
+
+
+
+ stopwatch.svg
+
+
+
+
+ strikethrough.svg
+
+
+
+
+ subscript.svg
+
+
+
+
+ subscriptions.svg
+
+
+
+
+ super-admin.svg
+
+
+
+
+ superscript.svg
+
+
+
+
+ sync.svg
+
+
+
+
+ tablet-landscape.svg
+
+
+
+
+ tablet-portrait.svg
+
+
+
+
+ text-styles.svg
+
+
+
+
+ theme-store.svg
+
+
+
+
+ thumbs-down-filled.svg
+
+
+
+
+ thumbs-down.svg
+
+
+
+
+ thumbs-up-filled.svg
+
+
+
+
+ thumbs-up.svg
+
+
+
+
+ tiktok.svg
+
+
+
+
+ trash.svg
+
+
+
+
+ twitter.svg
+
+
+
+
+ underline.svg
+
+
+
+
+ undo.svg
+
+
+
+
+ unlock.svg
+
+
+
+
+ unmapped.svg
+
+
+
+
+ up-small.svg
+
+
+
+
+ upload.svg
+
+
+
+
+ url.svg
+
+
+
+
+ user-filled.svg
+
+
+
+
+ user.svg
+
+
+
+
+ users-wm.svg
+
+
+
+
+ users.svg
+
+
+
+
+ video-off.svg
+
+
+
+
+ video-on.svg
+
+
+
+
+ warning-filled.svg
+
+
+
+
+ warning.svg
+
+
+
+
+ website-filled.svg
+
+
+
+
+ website-outline.svg
+
+
+
+
+ window-paragraph.svg
+
+
+
+
+ world.svg
+
+
+
+
+ youtube.svg
+
+
+
+
+
+
+
+
+
+
+
diff --git a/figma-icon-config.json b/figma-icon-config.json
new file mode 100644
index 0000000..9f64baa
--- /dev/null
+++ b/figma-icon-config.json
@@ -0,0 +1,4 @@
+{
+ "pageName": "Icons",
+ "downloadPath": "tmp/svg"
+}
diff --git a/lerna.json b/lerna.json
new file mode 100644
index 0000000..2696e97
--- /dev/null
+++ b/lerna.json
@@ -0,0 +1,5 @@
+{
+ "$schema": "node_modules/lerna/schemas/lerna-schema.json",
+ "useNx": true,
+ "version": "0.0.0"
+}
diff --git a/nx.json b/nx.json
new file mode 100644
index 0000000..d070354
--- /dev/null
+++ b/nx.json
@@ -0,0 +1,41 @@
+{
+ "affected": {
+ "defaultBase": "origin/main"
+ },
+ "npmScope": "pine-ds",
+ "tasksRunnerOptions": {
+ "default": {
+ "runner": "nx/tasks-runners/default",
+ "options": {
+ "cacheableOperations": [
+ "build",
+ "e2e",
+ "lint",
+ "test"
+ ]
+ }
+ }
+ },
+ "targetDefaults": {
+ "build": {
+ "dependsOn": [
+ "^build"
+ ],
+ "outputs": [
+ "{projectRoot}/dist",
+ "{projectRoot}/loader",
+ "{projectRoot}/www"
+ ]
+ },
+ "start": {
+ "dependsOn": [
+ "build"
+ ]
+ },
+ "test": {
+ "dependsOn": [
+ "build"
+ ]
+ }
+ }
+}
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..864006c
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,13891 @@
+{
+ "name": "@pine-ds/icons",
+ "version": "2.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "@pine-ds/icons",
+ "version": "2.0.0",
+ "license": "MIT",
+ "workspaces": [
+ "./"
+ ],
+ "dependencies": {
+ "@stencil/core": "^4.0.2"
+ },
+ "devDependencies": {
+ "@commitlint/cli": "^17.7.2",
+ "@commitlint/config-conventional": "^17.7.0",
+ "@stencil/sass": "^2.0.0",
+ "@types/fs-extra": "^9.0.13",
+ "@types/jest": "^27.0.3",
+ "@types/mkdirp": "^1.0.2",
+ "@types/svgo": "^2.6.4",
+ "@typescript-eslint/eslint-plugin": "^6.7.4",
+ "@typescript-eslint/parser": "^6.7.4",
+ "axios": "^1.1.3",
+ "chalk": "^4.1.2",
+ "cliui": "^8.0.1",
+ "commitizen": "^4.3.0",
+ "eslint": "^8.27.0",
+ "eslint-config-prettier": "^9.0.0",
+ "eslint-plugin-react": "^7.33.2",
+ "eslint-plugin-storybook": "^0.6.14",
+ "fs-extra": "^10.1.0",
+ "husky": "^8.0.3",
+ "jest": "^27.4.5",
+ "jest-cli": "^27.4.5",
+ "lerna": "^7.3.0",
+ "lint-staged": "^14.0.1",
+ "mkdirp": "^1.0.4",
+ "npm-run-all": "^4.1.5",
+ "nx": "16.10.0",
+ "prettier": "^2.7.1",
+ "puppeteer": "^10.0.0",
+ "run-func": "^3.0.0",
+ "simple-git": "^3.16.0",
+ "svgo": "^3.0.0",
+ "typescript": "^5.1.6",
+ "validate-branch-name": "^1.3.0"
+ }
+ },
+ "node_modules/@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.22.13",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.22.13",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/color-name": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/code-frame/node_modules/has-flag": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.22.20",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.23.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-module-transforms": "^7.23.0",
+ "@babel/helpers": "^7.23.0",
+ "@babel/parser": "^7.23.0",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.0",
+ "@babel/types": "^7.23.0",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.23.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.23.0",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.22.15",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.22.9",
+ "@babel/helper-validator-option": "^7.22.15",
+ "browserslist": "^4.21.9",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.22.15",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.23.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-simple-access": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/helper-validator-identifier": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.22.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.22.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.22.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.22.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.22.20",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.22.15",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.23.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.0",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.22.20",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.23.0",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.22.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.22.15",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.23.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.0",
+ "@babel/types": "^7.23.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.23.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@commitlint/cli": {
+ "version": "17.7.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/format": "^17.4.4",
+ "@commitlint/lint": "^17.7.0",
+ "@commitlint/load": "^17.7.2",
+ "@commitlint/read": "^17.5.1",
+ "@commitlint/types": "^17.4.4",
+ "execa": "^5.0.0",
+ "lodash.isfunction": "^3.0.9",
+ "resolve-from": "5.0.0",
+ "resolve-global": "1.0.0",
+ "yargs": "^17.0.0"
+ },
+ "bin": {
+ "commitlint": "cli.js"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/cli/node_modules/yargs": {
+ "version": "17.7.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@commitlint/config-conventional": {
+ "version": "17.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "conventional-changelog-conventionalcommits": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/config-validator": {
+ "version": "17.6.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.4.4",
+ "ajv": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/config-validator/node_modules/ajv": {
+ "version": "8.12.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@commitlint/config-validator/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@commitlint/ensure": {
+ "version": "17.6.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.4.4",
+ "lodash.camelcase": "^4.3.0",
+ "lodash.kebabcase": "^4.1.1",
+ "lodash.snakecase": "^4.1.1",
+ "lodash.startcase": "^4.4.0",
+ "lodash.upperfirst": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/execute-rule": {
+ "version": "17.4.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/format": {
+ "version": "17.4.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.4.4",
+ "chalk": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/is-ignored": {
+ "version": "17.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.4.4",
+ "semver": "7.5.4"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/lint": {
+ "version": "17.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/is-ignored": "^17.7.0",
+ "@commitlint/parse": "^17.7.0",
+ "@commitlint/rules": "^17.7.0",
+ "@commitlint/types": "^17.4.4"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/load": {
+ "version": "17.7.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/config-validator": "^17.6.7",
+ "@commitlint/execute-rule": "^17.4.0",
+ "@commitlint/resolve-extends": "^17.6.7",
+ "@commitlint/types": "^17.4.4",
+ "@types/node": "20.5.1",
+ "chalk": "^4.1.0",
+ "cosmiconfig": "^8.0.0",
+ "cosmiconfig-typescript-loader": "^4.0.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.merge": "^4.6.2",
+ "lodash.uniq": "^4.5.0",
+ "resolve-from": "^5.0.0",
+ "ts-node": "^10.8.1",
+ "typescript": "^4.6.4 || ^5.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/load/node_modules/@types/node": {
+ "version": "20.5.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@commitlint/load/node_modules/cosmiconfig-typescript-loader": {
+ "version": "4.4.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=v14.21.3"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "cosmiconfig": ">=7",
+ "ts-node": ">=10",
+ "typescript": ">=4"
+ }
+ },
+ "node_modules/@commitlint/load/node_modules/ts-node": {
+ "version": "10.9.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@cspotcode/source-map-support": "^0.8.0",
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.2",
+ "acorn": "^8.4.1",
+ "acorn-walk": "^8.1.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "v8-compile-cache-lib": "^3.0.1",
+ "yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-cwd": "dist/bin-cwd.js",
+ "ts-node-esm": "dist/bin-esm.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "peerDependencies": {
+ "@swc/core": ">=1.2.50",
+ "@swc/wasm": ">=1.2.50",
+ "@types/node": "*",
+ "typescript": ">=2.7"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "@swc/wasm": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@commitlint/message": {
+ "version": "17.4.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/parse": {
+ "version": "17.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.4.4",
+ "conventional-changelog-angular": "^6.0.0",
+ "conventional-commits-parser": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/read": {
+ "version": "17.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/top-level": "^17.4.0",
+ "@commitlint/types": "^17.4.4",
+ "fs-extra": "^11.0.0",
+ "git-raw-commits": "^2.0.11",
+ "minimist": "^1.2.6"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/read/node_modules/fs-extra": {
+ "version": "11.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/@commitlint/read/node_modules/git-raw-commits": {
+ "version": "2.0.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dargs": "^7.0.0",
+ "lodash": "^4.17.15",
+ "meow": "^8.0.0",
+ "split2": "^3.0.0",
+ "through2": "^4.0.0"
+ },
+ "bin": {
+ "git-raw-commits": "cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@commitlint/read/node_modules/through2": {
+ "version": "4.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "3"
+ }
+ },
+ "node_modules/@commitlint/resolve-extends": {
+ "version": "17.6.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/config-validator": "^17.6.7",
+ "@commitlint/types": "^17.4.4",
+ "import-fresh": "^3.0.0",
+ "lodash.mergewith": "^4.6.2",
+ "resolve-from": "^5.0.0",
+ "resolve-global": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/rules": {
+ "version": "17.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/ensure": "^17.6.7",
+ "@commitlint/message": "^17.4.2",
+ "@commitlint/to-lines": "^17.4.0",
+ "@commitlint/types": "^17.4.4",
+ "execa": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/to-lines": {
+ "version": "17.4.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/top-level": {
+ "version": "17.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/top-level/node_modules/find-up": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@commitlint/top-level/node_modules/locate-path": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@commitlint/top-level/node_modules/p-limit": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@commitlint/top-level/node_modules/p-locate": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@commitlint/types": {
+ "version": "17.4.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@cspotcode/source-map-support": {
+ "version": "0.8.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "0.3.9"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.9",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.9.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.50.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.11",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@hutson/parse-repository-url": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
+ "version": "1.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/console": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/core": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^27.5.1",
+ "@jest/reporters": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.8.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^27.5.1",
+ "jest-config": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-resolve-dependencies": "^27.5.1",
+ "jest-runner": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "jest-watcher": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/environment": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@sinonjs/fake-timers": "^8.0.1",
+ "@types/node": "*",
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "expect": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/reporters": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.9",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^5.1.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.1.3",
+ "jest-haste-map": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^4.0.1",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^8.1.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/source-map": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.9",
+ "source-map": "^0.6.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/test-result": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/test-result": "^27.5.1",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-runtime": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/transform": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^27.5.1",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/write-file-atomic": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.19",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@kwsites/file-exists": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.1"
+ }
+ },
+ "node_modules/@kwsites/promise-deferred": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@lerna/child-process": {
+ "version": "7.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "execa": "^5.0.0",
+ "strong-log-transformer": "^2.1.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/create": {
+ "version": "7.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@lerna/child-process": "7.3.0",
+ "@npmcli/run-script": "6.0.2",
+ "@nx/devkit": ">=16.5.1 < 17",
+ "@octokit/plugin-enterprise-rest": "6.0.1",
+ "@octokit/rest": "19.0.11",
+ "byte-size": "8.1.1",
+ "chalk": "4.1.0",
+ "clone-deep": "4.0.1",
+ "cmd-shim": "6.0.1",
+ "columnify": "1.6.0",
+ "conventional-changelog-core": "5.0.1",
+ "conventional-recommended-bump": "7.0.1",
+ "cosmiconfig": "^8.2.0",
+ "dedent": "0.7.0",
+ "execa": "5.0.0",
+ "fs-extra": "^11.1.1",
+ "get-stream": "6.0.0",
+ "git-url-parse": "13.1.0",
+ "glob-parent": "5.1.2",
+ "globby": "11.1.0",
+ "graceful-fs": "4.2.11",
+ "has-unicode": "2.0.1",
+ "ini": "^1.3.8",
+ "init-package-json": "5.0.0",
+ "inquirer": "^8.2.4",
+ "is-ci": "3.0.1",
+ "is-stream": "2.0.0",
+ "js-yaml": "4.1.0",
+ "libnpmpublish": "7.3.0",
+ "load-json-file": "6.2.0",
+ "lodash": "^4.17.21",
+ "make-dir": "4.0.0",
+ "minimatch": "3.0.5",
+ "multimatch": "5.0.0",
+ "node-fetch": "2.6.7",
+ "npm-package-arg": "8.1.1",
+ "npm-packlist": "5.1.1",
+ "npm-registry-fetch": "^14.0.5",
+ "npmlog": "^6.0.2",
+ "nx": ">=16.5.1 < 17",
+ "p-map": "4.0.0",
+ "p-map-series": "2.1.0",
+ "p-queue": "6.6.2",
+ "p-reduce": "^2.1.0",
+ "pacote": "^15.2.0",
+ "pify": "5.0.0",
+ "read-cmd-shim": "4.0.0",
+ "read-package-json": "6.0.4",
+ "resolve-from": "5.0.0",
+ "rimraf": "^4.4.1",
+ "semver": "^7.3.4",
+ "signal-exit": "3.0.7",
+ "slash": "^3.0.0",
+ "ssri": "^9.0.1",
+ "strong-log-transformer": "2.1.0",
+ "tar": "6.1.11",
+ "temp-dir": "1.0.0",
+ "upath": "2.0.1",
+ "uuid": "^9.0.0",
+ "validate-npm-package-license": "^3.0.4",
+ "validate-npm-package-name": "5.0.0",
+ "write-file-atomic": "5.0.1",
+ "write-pkg": "4.0.0",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/builtins": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@lerna/create/node_modules/chalk": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/execa": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/execa/node_modules/get-stream": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/execa/node_modules/is-stream": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/fs-extra": {
+ "version": "11.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/get-stream": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/hosted-git-info": {
+ "version": "3.0.8",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/minimatch": {
+ "version": "3.0.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/npm-package-arg": {
+ "version": "8.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "hosted-git-info": "^3.0.6",
+ "semver": "^7.0.0",
+ "validate-npm-package-name": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/npm-package-arg/node_modules/validate-npm-package-name": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "builtins": "^1.0.3"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/pify": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/rimraf": {
+ "version": "4.4.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^9.2.0"
+ },
+ "bin": {
+ "rimraf": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/rimraf/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/rimraf/node_modules/glob": {
+ "version": "9.3.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "minimatch": "^8.0.2",
+ "minipass": "^4.2.4",
+ "path-scurry": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/rimraf/node_modules/minimatch": {
+ "version": "8.0.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/rimraf/node_modules/minipass": {
+ "version": "4.2.8",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/ssri": {
+ "version": "9.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/tar": {
+ "version": "6.1.11",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/yargs-parser": {
+ "version": "20.2.4",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@npmcli/fs": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/git": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/promise-spawn": "^6.0.0",
+ "lru-cache": "^7.4.4",
+ "npm-pick-manifest": "^8.0.0",
+ "proc-log": "^3.0.0",
+ "promise-inflight": "^1.0.1",
+ "promise-retry": "^2.0.1",
+ "semver": "^7.3.5",
+ "which": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/git/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@npmcli/git/node_modules/which": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/installed-package-contents": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-bundled": "^3.0.0",
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "bin": {
+ "installed-package-contents": "lib/index.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/node-gyp": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/promise-spawn": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "which": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/promise-spawn/node_modules/which": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/run-script": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/node-gyp": "^3.0.0",
+ "@npmcli/promise-spawn": "^6.0.0",
+ "node-gyp": "^9.0.0",
+ "read-package-json-fast": "^3.0.0",
+ "which": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/run-script/node_modules/which": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@nrwl/devkit": {
+ "version": "16.10.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nx/devkit": "16.10.0"
+ }
+ },
+ "node_modules/@nrwl/tao": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.10.0.tgz",
+ "integrity": "sha512-QNAanpINbr+Pod6e1xNgFbzK1x5wmZl+jMocgiEFXZ67KHvmbD6MAQQr0MMz+GPhIu7EE4QCTLTyCEMlAG+K5Q==",
+ "dev": true,
+ "dependencies": {
+ "nx": "16.10.0",
+ "tslib": "^2.3.0"
+ },
+ "bin": {
+ "tao": "index.js"
+ }
+ },
+ "node_modules/@nx/devkit": {
+ "version": "16.10.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nrwl/devkit": "16.10.0",
+ "ejs": "^3.1.7",
+ "enquirer": "~2.3.6",
+ "ignore": "^5.0.4",
+ "semver": "7.5.3",
+ "tmp": "~0.2.1",
+ "tslib": "^2.3.0"
+ },
+ "peerDependencies": {
+ "nx": ">= 15 <= 17"
+ }
+ },
+ "node_modules/@nx/devkit/node_modules/semver": {
+ "version": "7.5.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@nx/nx-darwin-arm64": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.10.0.tgz",
+ "integrity": "sha512-YF+MIpeuwFkyvM5OwgY/rTNRpgVAI/YiR0yTYCZR+X3AAvP775IVlusNgQ3oedTBRUzyRnI4Tknj1WniENFsvQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-darwin-x64": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.10.0.tgz",
+ "integrity": "sha512-ypi6YxwXgb0kg2ixKXE3pwf5myVNUgWf1CsV5OzVccCM8NzheMO51KDXTDmEpXdzUsfT0AkO1sk5GZeCjhVONg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-freebsd-x64": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.10.0.tgz",
+ "integrity": "sha512-UeEYFDmdbbDkTQamqvtU8ibgu5jQLgFF1ruNb/U4Ywvwutw2d4ruOMl2e0u9hiNja9NFFAnDbvzrDcMo7jYqYw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-arm-gnueabihf": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.10.0.tgz",
+ "integrity": "sha512-WV3XUC2DB6/+bz1sx+d1Ai9q2Cdr+kTZRN50SOkfmZUQyEBaF6DRYpx/a4ahhxH3ktpNfyY8Maa9OEYxGCBkQA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-arm64-gnu": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.10.0.tgz",
+ "integrity": "sha512-aWIkOUw995V3ItfpAi5FuxQ+1e9EWLS1cjWM1jmeuo+5WtaKToJn5itgQOkvSlPz+HSLgM3VfXMvOFALNk125g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-arm64-musl": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.10.0.tgz",
+ "integrity": "sha512-uO6Gg+irqpVcCKMcEPIQcTFZ+tDI02AZkqkP7koQAjniLEappd8DnUBSQdcn53T086pHpdc264X/ZEpXFfrKWQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-x64-gnu": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.10.0.tgz",
+ "integrity": "sha512-134PW/u/arNFAQKpqMJniC7irbChMPz+W+qtyKPAUXE0XFKPa7c1GtlI/wK2dvP9qJDZ6bKf0KtA0U/m2HMUOA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-x64-musl": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.10.0.tgz",
+ "integrity": "sha512-q8sINYLdIJxK/iUx9vRk5jWAWb/2O0PAbOJFwv4qkxBv4rLoN7y+otgCZ5v0xfx/zztFgk/oNY4lg5xYjIso2Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-win32-arm64-msvc": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.10.0.tgz",
+ "integrity": "sha512-moJkL9kcqxUdJSRpG7dET3UeLIciwrfP08mzBQ12ewo8K8FzxU8ZUsTIVVdNrwt01CXOdXoweGfdQLjJ4qTURA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-win32-x64-msvc": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.10.0.tgz",
+ "integrity": "sha512-5iV2NKZnzxJwZZ4DM5JVbRG/nkhAbzEskKaLBB82PmYGKzaDHuMHP1lcPoD/rtYMlowZgNA/RQndfKvPBPwmXA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@octokit/auth-token": {
+ "version": "3.0.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/core": {
+ "version": "4.2.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/auth-token": "^3.0.0",
+ "@octokit/graphql": "^5.0.0",
+ "@octokit/request": "^6.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^9.0.0",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/endpoint": {
+ "version": "7.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^9.0.0",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/graphql": {
+ "version": "5.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/request": "^6.0.0",
+ "@octokit/types": "^9.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/openapi-types": {
+ "version": "18.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/plugin-enterprise-rest": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "6.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/tsconfig": "^1.0.2",
+ "@octokit/types": "^9.2.3"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=4"
+ }
+ },
+ "node_modules/@octokit/plugin-request-log": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "7.2.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^10.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
+ "version": "10.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^18.0.0"
+ }
+ },
+ "node_modules/@octokit/request": {
+ "version": "6.2.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/endpoint": "^7.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^9.0.0",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.7",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/request-error": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^9.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/request/node_modules/node-fetch": {
+ "version": "2.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@octokit/rest": {
+ "version": "19.0.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/core": "^4.2.1",
+ "@octokit/plugin-paginate-rest": "^6.1.2",
+ "@octokit/plugin-request-log": "^1.0.4",
+ "@octokit/plugin-rest-endpoint-methods": "^7.1.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/tsconfig": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/types": {
+ "version": "9.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^18.0.0"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.0.4",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "node-addon-api": "^3.2.1",
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@pine-ds/icons": {
+ "resolved": "",
+ "link": true
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@sigstore/bundle": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/protobuf-specs": "^0.2.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/protobuf-specs": {
+ "version": "0.2.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/sign": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^1.1.0",
+ "@sigstore/protobuf-specs": "^0.2.0",
+ "make-fetch-happen": "^11.0.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/tuf": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/protobuf-specs": "^0.2.0",
+ "tuf-js": "^1.1.7"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "1.8.6",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "node_modules/@stencil/core": {
+ "version": "4.4.0",
+ "license": "MIT",
+ "bin": {
+ "stencil": "bin/stencil"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.10.0"
+ }
+ },
+ "node_modules/@stencil/sass": {
+ "version": "2.0.4",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@stencil/core": ">=2.0.0 || >=3.0.0-beta.0"
+ }
+ },
+ "node_modules/@storybook/csf": {
+ "version": "0.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/@tootallnate/once": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@trysound/sax": {
+ "version": "0.2.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@tsconfig/node10": {
+ "version": "1.0.9",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node12": {
+ "version": "1.0.11",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node14": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsconfig/node16": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tufjs/canonical-json": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@tufjs/models": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tufjs/canonical-json": "1.0.0",
+ "minimatch": "^9.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@tufjs/models/node_modules/minimatch": {
+ "version": "9.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.20.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.20.7"
+ }
+ },
+ "node_modules/@types/fs-extra": {
+ "version": "9.0.13",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/graceful-fs": {
+ "version": "4.1.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@types/jest": {
+ "version": "27.5.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jest-matcher-utils": "^27.0.0",
+ "pretty-format": "^27.0.0"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.13",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/minimatch": {
+ "version": "3.0.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/minimist": {
+ "version": "1.2.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/mkdirp": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "20.8.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/normalize-package-data": {
+ "version": "2.4.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/prettier": {
+ "version": "2.7.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/semver": {
+ "version": "7.5.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/stack-utils": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/svgo": {
+ "version": "2.6.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/yargs": {
+ "version": "16.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/yauzl": {
+ "version": "2.10.1",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "6.7.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.5.1",
+ "@typescript-eslint/scope-manager": "6.7.4",
+ "@typescript-eslint/type-utils": "6.7.4",
+ "@typescript-eslint/utils": "6.7.4",
+ "@typescript-eslint/visitor-keys": "6.7.4",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.4",
+ "natural-compare": "^1.4.0",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "6.7.4",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "6.7.4",
+ "@typescript-eslint/types": "6.7.4",
+ "@typescript-eslint/typescript-estree": "6.7.4",
+ "@typescript-eslint/visitor-keys": "6.7.4",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "6.7.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "6.7.4",
+ "@typescript-eslint/visitor-keys": "6.7.4"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "6.7.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "6.7.4",
+ "@typescript-eslint/utils": "6.7.4",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "6.7.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "6.7.4",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "6.7.4",
+ "@typescript-eslint/visitor-keys": "6.7.4",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "6.7.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.12",
+ "@types/semver": "^7.5.0",
+ "@typescript-eslint/scope-manager": "6.7.4",
+ "@typescript-eslint/types": "6.7.4",
+ "@typescript-eslint/typescript-estree": "6.7.4",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "6.7.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "6.7.4",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@yarnpkg/lockfile": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/@yarnpkg/parsers": {
+ "version": "3.0.0-rc.46",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "js-yaml": "^3.10.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=14.15.0"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/node_modules/argparse": {
+ "version": "1.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@zkochan/js-yaml": {
+ "version": "0.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/abab": {
+ "version": "2.0.6",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/acorn": {
+ "version": "8.10.0",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-globals": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ }
+ },
+ "node_modules/acorn-globals/node_modules/acorn": {
+ "version": "7.4.1",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-globals/node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/add-stream": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/agentkeepalive": {
+ "version": "4.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "humanize-ms": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-escapes/node_modules/type-fest": {
+ "version": "0.21.3",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/arg": {
+ "version": "4.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "is-array-buffer": "^3.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-differ": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array-ify": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/array-includes": {
+ "version": "3.1.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "is-string": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array.prototype.flat": {
+ "version": "1.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flatmap": {
+ "version": "1.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.tosorted": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "es-shim-unscopables": "^1.0.0",
+ "get-intrinsic": "^1.2.1"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "is-array-buffer": "^3.0.2",
+ "is-shared-array-buffer": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/arrify": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/asynciterator.prototype": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/at-least-node": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/axios": {
+ "version": "1.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/babel-jest": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^27.5.1",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "node_modules/babel-plugin-add-module-exports": {
+ "version": "0.2.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/babel-plugin-istanbul": {
+ "version": "6.1.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^5.0.4",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-jest-hoist": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.0.0",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/babel-preset-current-node-syntax": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-jest": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^27.5.1",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/before-after-hook": {
+ "version": "2.2.3",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/bl": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-process-hrtime": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/browserslist": {
+ "version": "4.22.1",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001541",
+ "electron-to-chromium": "^1.4.535",
+ "node-releases": "^2.0.13",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bser": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/buffer-crc32": {
+ "version": "0.2.13",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/builtins": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.0.0"
+ }
+ },
+ "node_modules/byte-size": {
+ "version": "8.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
+ "node_modules/cacache": {
+ "version": "17.1.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/fs": "^3.1.0",
+ "fs-minipass": "^3.0.0",
+ "glob": "^10.2.2",
+ "lru-cache": "^7.7.1",
+ "minipass": "^7.0.3",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "p-map": "^4.0.0",
+ "ssri": "^10.0.0",
+ "tar": "^6.1.11",
+ "unique-filename": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/cacache/node_modules/fs-minipass": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/cacache/node_modules/glob": {
+ "version": "10.3.10",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.3.5",
+ "minimatch": "^9.0.1",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+ "path-scurry": "^1.10.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/cacache/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/cacache/node_modules/minimatch": {
+ "version": "9.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/cacache/node_modules/minipass": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/cachedir": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase-keys": {
+ "version": "6.2.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/camelcase-keys/node_modules/map-obj": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001546",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/char-regex": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/chardet": {
+ "version": "0.7.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "3.9.0",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cjs-module-lexer": {
+ "version": "1.2.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-spinners": {
+ "version": "2.6.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-truncate": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "slice-ansi": "^5.0.0",
+ "string-width": "^5.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-truncate/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/cli-truncate/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cli-truncate/node_modules/string-width": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-truncate/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/clone-deep": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/clone-deep/node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cmd-shim": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/collect-v8-coverage": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/colorette": {
+ "version": "2.0.20",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/columnify": {
+ "version": "1.6.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "strip-ansi": "^6.0.1",
+ "wcwidth": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "11.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/commitizen": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cachedir": "2.3.0",
+ "cz-conventional-changelog": "3.3.0",
+ "dedent": "0.7.0",
+ "detect-indent": "6.1.0",
+ "find-node-modules": "^2.1.2",
+ "find-root": "1.1.0",
+ "fs-extra": "9.1.0",
+ "glob": "7.2.3",
+ "inquirer": "8.2.5",
+ "is-utf8": "^0.2.1",
+ "lodash": "4.17.21",
+ "minimist": "1.2.7",
+ "strip-bom": "4.0.0",
+ "strip-json-comments": "3.1.1"
+ },
+ "bin": {
+ "commitizen": "bin/commitizen",
+ "cz": "bin/git-cz",
+ "git-cz": "bin/git-cz"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/commitizen/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/commitizen/node_modules/inquirer": {
+ "version": "8.2.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/commitizen/node_modules/minimist": {
+ "version": "1.2.7",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/compare-func": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-ify": "^1.0.0",
+ "dot-prop": "^5.1.0"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/concat-stream": {
+ "version": "2.0.0",
+ "dev": true,
+ "engines": [
+ "node >= 6.0"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/conventional-changelog-angular": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "compare-func": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-changelog-conventionalcommits": {
+ "version": "6.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "compare-func": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-changelog-core": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "add-stream": "^1.0.0",
+ "conventional-changelog-writer": "^6.0.0",
+ "conventional-commits-parser": "^4.0.0",
+ "dateformat": "^3.0.3",
+ "get-pkg-repo": "^4.2.1",
+ "git-raw-commits": "^3.0.0",
+ "git-remote-origin-url": "^2.0.0",
+ "git-semver-tags": "^5.0.0",
+ "normalize-package-data": "^3.0.3",
+ "read-pkg": "^3.0.0",
+ "read-pkg-up": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/conventional-changelog-preset-loader": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-changelog-writer": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "conventional-commits-filter": "^3.0.0",
+ "dateformat": "^3.0.3",
+ "handlebars": "^4.7.7",
+ "json-stringify-safe": "^5.0.1",
+ "meow": "^8.1.2",
+ "semver": "^7.0.0",
+ "split": "^1.0.1"
+ },
+ "bin": {
+ "conventional-changelog-writer": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-commit-types": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/conventional-commits-filter": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash.ismatch": "^4.4.0",
+ "modify-values": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-commits-parser": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-text-path": "^1.0.1",
+ "JSONStream": "^1.3.5",
+ "meow": "^8.1.2",
+ "split2": "^3.2.2"
+ },
+ "bin": {
+ "conventional-commits-parser": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-recommended-bump": {
+ "version": "7.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "concat-stream": "^2.0.0",
+ "conventional-changelog-preset-loader": "^3.0.0",
+ "conventional-commits-filter": "^3.0.0",
+ "conventional-commits-parser": "^4.0.0",
+ "git-raw-commits": "^3.0.0",
+ "git-semver-tags": "^5.0.0",
+ "meow": "^8.1.2"
+ },
+ "bin": {
+ "conventional-recommended-bump": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cosmiconfig": {
+ "version": "8.3.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0",
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cross-spawn/node_modules/path-key": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cross-spawn/node_modules/shebang-command": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cross-spawn/node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cross-spawn/node_modules/which": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-select": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "6.1.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/csso": {
+ "version": "5.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "css-tree": "~2.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/csso/node_modules/css-tree": {
+ "version": "2.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.28",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/csso/node_modules/mdn-data": {
+ "version": "2.0.28",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/cssom": {
+ "version": "0.4.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cssstyle": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssom": "~0.3.6"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cssstyle/node_modules/cssom": {
+ "version": "0.3.8",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/current-git-branch": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "babel-plugin-add-module-exports": "^0.2.1",
+ "execa": "^0.6.1",
+ "is-git-repository": "^1.0.0"
+ }
+ },
+ "node_modules/current-git-branch/node_modules/cross-spawn": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "node_modules/current-git-branch/node_modules/execa": {
+ "version": "0.6.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/current-git-branch/node_modules/get-stream": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/current-git-branch/node_modules/is-stream": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/current-git-branch/node_modules/lru-cache": {
+ "version": "4.1.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "node_modules/current-git-branch/node_modules/npm-run-path": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/current-git-branch/node_modules/yallist": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/cz-conventional-changelog": {
+ "version": "3.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^2.4.1",
+ "commitizen": "^4.0.3",
+ "conventional-commit-types": "^3.0.0",
+ "lodash.map": "^4.5.1",
+ "longest": "^2.0.1",
+ "word-wrap": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "optionalDependencies": {
+ "@commitlint/load": ">6.1.1"
+ }
+ },
+ "node_modules/cz-conventional-changelog/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cz-conventional-changelog/node_modules/chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cz-conventional-changelog/node_modules/color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/cz-conventional-changelog/node_modules/color-name": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cz-conventional-changelog/node_modules/has-flag": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cz-conventional-changelog/node_modules/supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/dargs": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/data-urls": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/data-urls/node_modules/tr46": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/data-urls/node_modules/whatwg-url": {
+ "version": "8.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/dateformat": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/decamelize-keys": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/decimal.js": {
+ "version": "10.4.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/dedent": {
+ "version": "0.7.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/defaults": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.1",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/deprecation": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/detect-file": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/detect-indent": {
+ "version": "6.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/detect-newline": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/devtools-protocol": {
+ "version": "0.0.901419",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/diff": {
+ "version": "4.0.2",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/domexception": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domexception/node_modules/webidl-conversions": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domhandler": {
+ "version": "5.0.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "domelementtype": "^2.3.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/dot-prop": {
+ "version": "5.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-obj": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.3.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/motdotla/dotenv?sponsor=1"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "10.0.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ejs": {
+ "version": "3.1.9",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.543",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/emittery": {
+ "version": "0.8.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/encoding": {
+ "version": "0.1.13",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
+ "node_modules/encoding/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/envinfo": {
+ "version": "7.8.1",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "envinfo": "dist/cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/err-code": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.22.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "arraybuffer.prototype.slice": "^1.0.2",
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "es-set-tostringtag": "^2.0.1",
+ "es-to-primitive": "^1.2.1",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.1",
+ "get-symbol-description": "^1.0.0",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
+ "has": "^1.0.3",
+ "has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.5",
+ "is-array-buffer": "^3.0.2",
+ "is-callable": "^1.2.7",
+ "is-negative-zero": "^2.0.2",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "is-string": "^1.0.7",
+ "is-typed-array": "^1.1.12",
+ "is-weakref": "^1.0.2",
+ "object-inspect": "^1.12.3",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "safe-array-concat": "^1.0.1",
+ "safe-regex-test": "^1.0.0",
+ "string.prototype.trim": "^1.2.8",
+ "string.prototype.trimend": "^1.0.7",
+ "string.prototype.trimstart": "^1.0.7",
+ "typed-array-buffer": "^1.0.0",
+ "typed-array-byte-length": "^1.0.0",
+ "typed-array-byte-offset": "^1.0.0",
+ "typed-array-length": "^1.0.4",
+ "unbox-primitive": "^1.0.2",
+ "which-typed-array": "^1.1.11"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-iterator-helpers": {
+ "version": "1.0.15",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "asynciterator.prototype": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.1",
+ "es-set-tostringtag": "^2.0.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.2.1",
+ "globalthis": "^1.0.3",
+ "has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.5",
+ "iterator.prototype": "^1.1.2",
+ "safe-array-concat": "^1.0.1"
+ }
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3",
+ "has": "^1.0.3",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-shim-unscopables": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has": "^1.0.3"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/escodegen": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.50.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.2",
+ "@eslint/js": "8.50.0",
+ "@humanwhocodes/config-array": "^0.11.11",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-prettier": {
+ "version": "9.0.0",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-react": {
+ "version": "7.33.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.6",
+ "array.prototype.flatmap": "^1.3.1",
+ "array.prototype.tosorted": "^1.1.1",
+ "doctrine": "^2.1.0",
+ "es-iterator-helpers": "^1.0.12",
+ "estraverse": "^5.3.0",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.6",
+ "object.fromentries": "^2.0.6",
+ "object.hasown": "^1.1.2",
+ "object.values": "^1.1.6",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.4",
+ "semver": "^6.3.1",
+ "string.prototype.matchall": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/resolve": {
+ "version": "2.0.0-next.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/semver": {
+ "version": "6.3.1",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-plugin-storybook": {
+ "version": "0.6.14",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/csf": "^0.0.1",
+ "@typescript-eslint/utils": "^5.45.0",
+ "requireindex": "^1.1.0",
+ "ts-dedent": "^2.2.0"
+ },
+ "engines": {
+ "node": "12.x || 14.x || >= 16"
+ },
+ "peerDependencies": {
+ "eslint": ">=6"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/estraverse": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/doctrine": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/find-up": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/eslint/node_modules/locate-path": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/p-limit": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/p-locate": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.6.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/execa/node_modules/is-stream": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/exit": {
+ "version": "0.1.2",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/expand-tilde": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "homedir-polyfill": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expect": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/exponential-backoff": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/external-editor": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "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",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/extract-zip": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
+ "yauzl": "^2.10.0"
+ },
+ "bin": {
+ "extract-zip": "cli.js"
+ },
+ "engines": {
+ "node": ">= 10.17.0"
+ },
+ "optionalDependencies": {
+ "@types/yauzl": "^2.9.1"
+ }
+ },
+ "node_modules/extract-zip/node_modules/get-stream": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fastq": {
+ "version": "1.15.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fb-watchman": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
+ "node_modules/fd-slicer": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pend": "~1.2.0"
+ }
+ },
+ "node_modules/figures": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-node-modules": {
+ "version": "2.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "findup-sync": "^4.0.0",
+ "merge": "^2.1.1"
+ }
+ },
+ "node_modules/find-root": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/find-up": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/findup-sync": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-file": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "micromatch": "^4.0.2",
+ "resolve-dir": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.2.7",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.2.9",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.3",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/foreground-child/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fs-extra": {
+ "version": "10.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gauge": {
+ "version": "4.0.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^3.0.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/get-pkg-repo": {
+ "version": "4.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@hutson/parse-repository-url": "^3.0.0",
+ "hosted-git-info": "^4.0.0",
+ "through2": "^2.0.0",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "get-pkg-repo": "src/cli.js"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-port": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-symbol-description": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/git-raw-commits": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dargs": "^7.0.0",
+ "meow": "^8.1.2",
+ "split2": "^3.2.2"
+ },
+ "bin": {
+ "git-raw-commits": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/git-remote-origin-url": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "gitconfiglocal": "^1.0.0",
+ "pify": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/git-remote-origin-url/node_modules/pify": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/git-semver-tags": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "meow": "^8.1.2",
+ "semver": "^7.0.0"
+ },
+ "bin": {
+ "git-semver-tags": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/git-up": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-ssh": "^1.4.0",
+ "parse-url": "^8.1.0"
+ }
+ },
+ "node_modules/git-url-parse": {
+ "version": "13.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "git-up": "^7.0.0"
+ }
+ },
+ "node_modules/gitconfiglocal": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "BSD",
+ "dependencies": {
+ "ini": "^1.3.2"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/global-dirs": {
+ "version": "0.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ini": "^1.3.4"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/global-modules": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/global-prefix": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "expand-tilde": "^2.0.2",
+ "homedir-polyfill": "^1.0.1",
+ "ini": "^1.3.4",
+ "is-windows": "^1.0.1",
+ "which": "^1.2.14"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.23.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globals/node_modules/type-fest": {
+ "version": "0.20.2",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globalthis": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "dev": true,
+ "license": "MIT",
+ "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/gopd": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/handlebars": {
+ "version": "4.7.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
+ },
+ "engines": {
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
+ }
+ },
+ "node_modules/hard-rejection": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/homedir-polyfill": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parse-passwd": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/html-encoding-sniffer": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-encoding": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/http-cache-semantics": {
+ "version": "4.1.1",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/humanize-ms": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.0.0"
+ }
+ },
+ "node_modules/humanize-ms/node_modules/ms": {
+ "version": "2.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/husky": {
+ "version": "8.0.3",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "husky": "lib/bin.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/typicode"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ignore": {
+ "version": "5.2.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/ignore-walk": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/ignore-walk/node_modules/minimatch": {
+ "version": "5.1.6",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-fresh/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-local": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/init-package-json": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-package-arg": "^10.0.0",
+ "promzard": "^1.0.0",
+ "read": "^2.0.0",
+ "read-package-json": "^6.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4",
+ "validate-npm-package-name": "^5.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/inquirer": {
+ "version": "8.2.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/inquirer/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/internal-slot": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.0",
+ "has": "^1.0.3",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/ip": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.0",
+ "is-typed-array": "^1.1.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-async-function": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-bigints": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-ci": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ci-info": "^3.2.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.13.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-finalizationregistry": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-fn": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-git-repository": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "execa": "^0.6.1",
+ "path-is-absolute": "^1.0.1"
+ }
+ },
+ "node_modules/is-git-repository/node_modules/cross-spawn": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "node_modules/is-git-repository/node_modules/execa": {
+ "version": "0.6.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-git-repository/node_modules/get-stream": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-git-repository/node_modules/is-stream": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-git-repository/node_modules/lru-cache": {
+ "version": "4.1.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "node_modules/is-git-repository/node_modules/npm-run-path": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-git-repository/node_modules/yallist": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-interactive": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-lambda": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-map": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-obj": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-set": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-ssh": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.1"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-text-path": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "text-extensions": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.12",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "which-typed-array": "^1.1.11"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-utf8": {
+ "version": "0.2.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakref": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-windows": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "5.2.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument/node_modules/semver": {
+ "version": "6.3.1",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.1.6",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/iterator.prototype": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "reflect.getprototypeof": "^1.0.4",
+ "set-function-name": "^2.0.1"
+ }
+ },
+ "node_modules/jackspeak": {
+ "version": "2.3.6",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/jake": {
+ "version": "10.8.7",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jest": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/core": "^27.5.1",
+ "import-local": "^3.0.2",
+ "jest-cli": "^27.5.1"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-changed-files": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "execa": "^5.0.0",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-circus": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "expect": "^27.5.1",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-cli": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/core": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "import-local": "^3.0.2",
+ "jest-config": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "prompts": "^2.0.1",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.8.0",
+ "@jest/test-sequencer": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "babel-jest": "^27.5.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-jasmine2": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runner": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-diff": {
+ "version": "29.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.6.3",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/pretty-format": {
+ "version": "29.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/react-is": {
+ "version": "18.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/jest-docblock": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-environment-jsdom": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jsdom": "^16.6.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-environment-node": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-haste-map": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/graceful-fs": "^4.1.2",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^27.5.1",
+ "jest-serializer": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.7"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/jest-jasmine2": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/source-map": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "expect": "^27.5.1",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-leak-detector": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/diff-sequences": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/jest-diff": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-message-util": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^27.5.1",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-mock": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/node": "*"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-pnp-resolver": {
+ "version": "1.2.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-regex-util": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-resolve": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "resolve": "^1.20.0",
+ "resolve.exports": "^1.1.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-resolve-dependencies": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-snapshot": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-runner": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/console": "^27.5.1",
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.8.1",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-leak-detector": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
+ "source-map-support": "^0.5.6",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-runtime": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/globals": "^27.5.1",
+ "@jest/source-map": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "execa": "^5.0.0",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-serializer": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "graceful-fs": "^4.2.9"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-snapshot": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.7.2",
+ "@babel/generator": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/traverse": "^7.7.2",
+ "@babel/types": "^7.0.0",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/babel__traverse": "^7.0.4",
+ "@types/prettier": "^2.1.5",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^27.5.1",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^27.5.1",
+ "semver": "^7.3.2"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/diff-sequences": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/jest-diff": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-util": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-validate": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.5.1",
+ "leven": "^3.1.0",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/camelcase": {
+ "version": "6.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-watcher": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "jest-util": "^27.5.1",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsdom": {
+ "version": "16.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jsdom/node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/jsdom/node_modules/form-data": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/jsdom/node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/jsdom/node_modules/tr46": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jsdom/node_modules/whatwg-url": {
+ "version": "8.7.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jsdom/node_modules/ws": {
+ "version": "7.5.9",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-parse-better-errors": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsonparse": {
+ "version": "1.3.1",
+ "dev": true,
+ "engines": [
+ "node >= 0.2.0"
+ ],
+ "license": "MIT"
+ },
+ "node_modules/JSONStream": {
+ "version": "1.3.5",
+ "dev": true,
+ "license": "(MIT OR Apache-2.0)",
+ "dependencies": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ },
+ "bin": {
+ "JSONStream": "bin.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/jsx-ast-utils": {
+ "version": "3.3.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.6",
+ "array.prototype.flat": "^1.3.1",
+ "object.assign": "^4.1.4",
+ "object.values": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lerna": {
+ "version": "7.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@lerna/child-process": "7.3.0",
+ "@lerna/create": "7.3.0",
+ "@npmcli/run-script": "6.0.2",
+ "@nx/devkit": ">=16.5.1 < 17",
+ "@octokit/plugin-enterprise-rest": "6.0.1",
+ "@octokit/rest": "19.0.11",
+ "byte-size": "8.1.1",
+ "chalk": "4.1.0",
+ "clone-deep": "4.0.1",
+ "cmd-shim": "6.0.1",
+ "columnify": "1.6.0",
+ "conventional-changelog-angular": "6.0.0",
+ "conventional-changelog-core": "5.0.1",
+ "conventional-recommended-bump": "7.0.1",
+ "cosmiconfig": "^8.2.0",
+ "dedent": "0.7.0",
+ "envinfo": "7.8.1",
+ "execa": "5.0.0",
+ "fs-extra": "^11.1.1",
+ "get-port": "5.1.1",
+ "get-stream": "6.0.0",
+ "git-url-parse": "13.1.0",
+ "glob-parent": "5.1.2",
+ "globby": "11.1.0",
+ "graceful-fs": "4.2.11",
+ "has-unicode": "2.0.1",
+ "import-local": "3.1.0",
+ "ini": "^1.3.8",
+ "init-package-json": "5.0.0",
+ "inquirer": "^8.2.4",
+ "is-ci": "3.0.1",
+ "is-stream": "2.0.0",
+ "jest-diff": ">=29.4.3 < 30",
+ "js-yaml": "4.1.0",
+ "libnpmaccess": "7.0.2",
+ "libnpmpublish": "7.3.0",
+ "load-json-file": "6.2.0",
+ "lodash": "^4.17.21",
+ "make-dir": "4.0.0",
+ "minimatch": "3.0.5",
+ "multimatch": "5.0.0",
+ "node-fetch": "2.6.7",
+ "npm-package-arg": "8.1.1",
+ "npm-packlist": "5.1.1",
+ "npm-registry-fetch": "^14.0.5",
+ "npmlog": "^6.0.2",
+ "nx": ">=16.5.1 < 17",
+ "p-map": "4.0.0",
+ "p-map-series": "2.1.0",
+ "p-pipe": "3.1.0",
+ "p-queue": "6.6.2",
+ "p-reduce": "2.1.0",
+ "p-waterfall": "2.1.1",
+ "pacote": "^15.2.0",
+ "pify": "5.0.0",
+ "read-cmd-shim": "4.0.0",
+ "read-package-json": "6.0.4",
+ "resolve-from": "5.0.0",
+ "rimraf": "^4.4.1",
+ "semver": "^7.3.8",
+ "signal-exit": "3.0.7",
+ "slash": "3.0.0",
+ "ssri": "^9.0.1",
+ "strong-log-transformer": "2.1.0",
+ "tar": "6.1.11",
+ "temp-dir": "1.0.0",
+ "typescript": ">=3 < 6",
+ "upath": "2.0.1",
+ "uuid": "^9.0.0",
+ "validate-npm-package-license": "3.0.4",
+ "validate-npm-package-name": "5.0.0",
+ "write-file-atomic": "5.0.1",
+ "write-pkg": "4.0.0",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4"
+ },
+ "bin": {
+ "lerna": "dist/cli.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/lerna/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/lerna/node_modules/builtins": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lerna/node_modules/chalk": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/lerna/node_modules/execa": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/lerna/node_modules/execa/node_modules/get-stream": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lerna/node_modules/execa/node_modules/is-stream": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lerna/node_modules/fs-extra": {
+ "version": "11.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/lerna/node_modules/get-stream": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lerna/node_modules/hosted-git-info": {
+ "version": "3.0.8",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lerna/node_modules/minimatch": {
+ "version": "3.0.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/lerna/node_modules/npm-package-arg": {
+ "version": "8.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "hosted-git-info": "^3.0.6",
+ "semver": "^7.0.0",
+ "validate-npm-package-name": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lerna/node_modules/npm-package-arg/node_modules/validate-npm-package-name": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "builtins": "^1.0.3"
+ }
+ },
+ "node_modules/lerna/node_modules/pify": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lerna/node_modules/rimraf": {
+ "version": "4.4.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^9.2.0"
+ },
+ "bin": {
+ "rimraf": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/lerna/node_modules/rimraf/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/lerna/node_modules/rimraf/node_modules/glob": {
+ "version": "9.3.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "minimatch": "^8.0.2",
+ "minipass": "^4.2.4",
+ "path-scurry": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/lerna/node_modules/rimraf/node_modules/minimatch": {
+ "version": "8.0.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/lerna/node_modules/rimraf/node_modules/minipass": {
+ "version": "4.2.8",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lerna/node_modules/ssri": {
+ "version": "9.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/lerna/node_modules/tar": {
+ "version": "6.1.11",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/lerna/node_modules/yargs-parser": {
+ "version": "20.2.4",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/libnpmaccess": {
+ "version": "7.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-package-arg": "^10.1.0",
+ "npm-registry-fetch": "^14.0.3"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/libnpmpublish": {
+ "version": "7.3.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "ci-info": "^3.6.1",
+ "normalize-package-data": "^5.0.0",
+ "npm-package-arg": "^10.1.0",
+ "npm-registry-fetch": "^14.0.3",
+ "proc-log": "^3.0.0",
+ "semver": "^7.3.7",
+ "sigstore": "^1.4.0",
+ "ssri": "^10.0.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/libnpmpublish/node_modules/hosted-git-info": {
+ "version": "6.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^7.5.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/libnpmpublish/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/libnpmpublish/node_modules/normalize-package-data": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^6.0.0",
+ "is-core-module": "^2.8.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/lint-staged": {
+ "version": "14.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "5.3.0",
+ "commander": "11.0.0",
+ "debug": "4.3.4",
+ "execa": "7.2.0",
+ "lilconfig": "2.1.0",
+ "listr2": "6.6.1",
+ "micromatch": "4.0.5",
+ "pidtree": "0.6.0",
+ "string-argv": "0.3.2",
+ "yaml": "2.3.1"
+ },
+ "bin": {
+ "lint-staged": "bin/lint-staged.js"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/lint-staged"
+ }
+ },
+ "node_modules/lint-staged/node_modules/chalk": {
+ "version": "5.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/lint-staged/node_modules/execa": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.1",
+ "human-signals": "^4.3.0",
+ "is-stream": "^3.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^5.1.0",
+ "onetime": "^6.0.0",
+ "signal-exit": "^3.0.7",
+ "strip-final-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/lint-staged/node_modules/human-signals": {
+ "version": "4.3.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=14.18.0"
+ }
+ },
+ "node_modules/lint-staged/node_modules/is-stream": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/node_modules/mimic-fn": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/node_modules/npm-run-path": {
+ "version": "5.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/node_modules/onetime": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/node_modules/path-key": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/node_modules/strip-final-newline": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/listr2": {
+ "version": "6.6.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cli-truncate": "^3.1.0",
+ "colorette": "^2.0.20",
+ "eventemitter3": "^5.0.1",
+ "log-update": "^5.0.1",
+ "rfdc": "^1.3.0",
+ "wrap-ansi": "^8.1.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "enquirer": ">= 2.3.0 < 3"
+ },
+ "peerDependenciesMeta": {
+ "enquirer": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/listr2/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/listr2/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/listr2/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/listr2/node_modules/eventemitter3": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/listr2/node_modules/string-width": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/listr2/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/listr2/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/load-json-file": {
+ "version": "6.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.15",
+ "parse-json": "^5.0.0",
+ "strip-bom": "^4.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.isfunction": {
+ "version": "3.0.9",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.ismatch": {
+ "version": "4.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.kebabcase": {
+ "version": "4.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.map": {
+ "version": "4.6.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.mergewith": {
+ "version": "4.6.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.snakecase": {
+ "version": "4.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.startcase": {
+ "version": "4.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.uniq": {
+ "version": "4.5.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.upperfirst": {
+ "version": "4.3.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^5.0.0",
+ "cli-cursor": "^4.0.0",
+ "slice-ansi": "^5.0.0",
+ "strip-ansi": "^7.0.1",
+ "wrap-ansi": "^8.0.1"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/ansi-escapes": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/log-update/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/log-update/node_modules/cli-cursor": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/log-update/node_modules/restore-cursor": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/string-width": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/log-update/node_modules/type-fest": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/longest": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/make-fetch-happen": {
+ "version": "11.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "agentkeepalive": "^4.2.1",
+ "cacache": "^17.0.0",
+ "http-cache-semantics": "^4.1.1",
+ "http-proxy-agent": "^5.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^7.7.1",
+ "minipass": "^5.0.0",
+ "minipass-fetch": "^3.0.0",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.3",
+ "promise-retry": "^2.0.1",
+ "socks-proxy-agent": "^7.0.0",
+ "ssri": "^10.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/make-fetch-happen/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/make-fetch-happen/node_modules/minipass": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/makeerror": {
+ "version": "1.0.12",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "tmpl": "1.0.5"
+ }
+ },
+ "node_modules/map-obj": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.30",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/memorystream": {
+ "version": "0.3.1",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/meow": {
+ "version": "8.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.18.0",
+ "yargs-parser": "^20.2.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/meow/node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": {
+ "version": "0.8.1",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg/node_modules/semver": {
+ "version": "5.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/meow/node_modules/type-fest": {
+ "version": "0.18.1",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/meow/node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/merge": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/min-indent": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimatch/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minimist-options": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/minimist-options/node_modules/arrify": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "3.3.6",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-collect": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-fetch": {
+ "version": "3.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^7.0.3",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.1.2"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "encoding": "^0.1.13"
+ }
+ },
+ "node_modules/minipass-fetch/node_modules/minipass": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/minipass-flush": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-json-stream": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jsonparse": "^1.3.1",
+ "minipass": "^3.0.0"
+ }
+ },
+ "node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-sized": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/modify-values": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/multimatch": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimatch": "^3.0.3",
+ "array-differ": "^3.0.0",
+ "array-union": "^2.1.0",
+ "arrify": "^2.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/mute-stream": {
+ "version": "0.0.8",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nice-try": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-addon-api": {
+ "version": "3.2.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-gyp": {
+ "version": "9.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "env-paths": "^2.2.0",
+ "exponential-backoff": "^3.1.1",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^11.0.3",
+ "nopt": "^6.0.0",
+ "npmlog": "^6.0.0",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.2",
+ "which": "^2.0.2"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": "^12.13 || ^14.13 || >=16"
+ }
+ },
+ "node_modules/node-gyp-build": {
+ "version": "4.6.1",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
+ "node_modules/node-gyp/node_modules/which": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-machine-id": {
+ "version": "1.1.12",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.13",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nopt": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "abbrev": "^1.0.0"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/normalize-package-data/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/normalize-package-data/node_modules/semver": {
+ "version": "5.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-bundled": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "node_modules/npm-bundled/node_modules/npm-normalize-package-bin": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/npm-install-checks": {
+ "version": "6.2.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "semver": "^7.1.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-normalize-package-bin": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-package-arg": {
+ "version": "10.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "hosted-git-info": "^6.0.0",
+ "proc-log": "^3.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^5.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-package-arg/node_modules/hosted-git-info": {
+ "version": "6.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^7.5.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-package-arg/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/npm-packlist": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^8.0.1",
+ "ignore-walk": "^5.0.1",
+ "npm-bundled": "^1.1.2",
+ "npm-normalize-package-bin": "^1.0.1"
+ },
+ "bin": {
+ "npm-packlist": "bin/index.js"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/npm-packlist/node_modules/glob": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/npm-packlist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/npm-pick-manifest": {
+ "version": "8.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-install-checks": "^6.0.0",
+ "npm-normalize-package-bin": "^3.0.0",
+ "npm-package-arg": "^10.0.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-registry-fetch": {
+ "version": "14.0.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "make-fetch-happen": "^11.0.0",
+ "minipass": "^5.0.0",
+ "minipass-fetch": "^3.0.0",
+ "minipass-json-stream": "^1.0.1",
+ "minizlib": "^2.1.2",
+ "npm-package-arg": "^10.0.0",
+ "proc-log": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-registry-fetch/node_modules/minipass": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/npm-run-all": {
+ "version": "4.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "chalk": "^2.4.1",
+ "cross-spawn": "^6.0.5",
+ "memorystream": "^0.3.1",
+ "minimatch": "^3.0.4",
+ "pidtree": "^0.3.0",
+ "read-pkg": "^3.0.0",
+ "shell-quote": "^1.6.1",
+ "string.prototype.padend": "^3.0.0"
+ },
+ "bin": {
+ "npm-run-all": "bin/npm-run-all/index.js",
+ "run-p": "bin/run-p/index.js",
+ "run-s": "bin/run-s/index.js"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/color-name": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/npm-run-all/node_modules/cross-spawn": {
+ "version": "6.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "engines": {
+ "node": ">=4.8"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/has-flag": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/pidtree": {
+ "version": "0.3.1",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "pidtree": "bin/pidtree.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/semver": {
+ "version": "5.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/npm-run-path/node_modules/path-key": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
+ "node_modules/nwsapi": {
+ "version": "2.2.7",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nx": {
+ "version": "16.10.0",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-16.10.0.tgz",
+ "integrity": "sha512-gZl4iCC0Hx0Qe1VWmO4Bkeul2nttuXdPpfnlcDKSACGu3ZIo+uySqwOF8yBAxSTIf8xe2JRhgzJN1aFkuezEBg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@nrwl/tao": "16.10.0",
+ "@parcel/watcher": "2.0.4",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "3.0.0-rc.46",
+ "@zkochan/js-yaml": "0.0.6",
+ "axios": "^1.0.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^8.0.1",
+ "dotenv": "~16.3.1",
+ "dotenv-expand": "~10.0.0",
+ "enquirer": "~2.3.6",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "fs-extra": "^11.1.0",
+ "glob": "7.1.4",
+ "ignore": "^5.0.4",
+ "jest-diff": "^29.4.1",
+ "js-yaml": "4.1.0",
+ "jsonc-parser": "3.2.0",
+ "lines-and-columns": "~2.0.3",
+ "minimatch": "3.0.5",
+ "node-machine-id": "1.1.12",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "semver": "7.5.3",
+ "string-width": "^4.2.3",
+ "strong-log-transformer": "^2.1.0",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tsconfig-paths": "^4.1.2",
+ "tslib": "^2.3.0",
+ "v8-compile-cache": "2.3.0",
+ "yargs": "^17.6.2",
+ "yargs-parser": "21.1.1"
+ },
+ "bin": {
+ "nx": "bin/nx.js"
+ },
+ "optionalDependencies": {
+ "@nx/nx-darwin-arm64": "16.10.0",
+ "@nx/nx-darwin-x64": "16.10.0",
+ "@nx/nx-freebsd-x64": "16.10.0",
+ "@nx/nx-linux-arm-gnueabihf": "16.10.0",
+ "@nx/nx-linux-arm64-gnu": "16.10.0",
+ "@nx/nx-linux-arm64-musl": "16.10.0",
+ "@nx/nx-linux-x64-gnu": "16.10.0",
+ "@nx/nx-linux-x64-musl": "16.10.0",
+ "@nx/nx-win32-arm64-msvc": "16.10.0",
+ "@nx/nx-win32-x64-msvc": "16.10.0"
+ },
+ "peerDependencies": {
+ "@swc-node/register": "^1.6.7",
+ "@swc/core": "^1.3.85"
+ },
+ "peerDependenciesMeta": {
+ "@swc-node/register": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/nx/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/nx/node_modules/fs-extra": {
+ "version": "11.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/nx/node_modules/glob": {
+ "version": "7.1.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/nx/node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/nx/node_modules/minimatch": {
+ "version": "3.0.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/nx/node_modules/semver": {
+ "version": "7.5.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/nx/node_modules/yargs": {
+ "version": "17.7.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/nx/node_modules/yargs/node_modules/cliui": {
+ "version": "8.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.3",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.entries": {
+ "version": "1.1.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.fromentries": {
+ "version": "2.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.hasown": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.values": {
+ "version": "1.1.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open": {
+ "version": "8.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@aashutoshrathi/word-wrap": "^1.2.3",
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/ora": {
+ "version": "5.4.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ora/node_modules/cli-spinners": {
+ "version": "2.9.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/p-finally": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-map-series": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-pipe": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-queue": {
+ "version": "6.6.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eventemitter3": "^4.0.4",
+ "p-timeout": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-reduce": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-timeout": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-finally": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/p-waterfall": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-reduce": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pacote": {
+ "version": "15.2.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/git": "^4.0.0",
+ "@npmcli/installed-package-contents": "^2.0.1",
+ "@npmcli/promise-spawn": "^6.0.1",
+ "@npmcli/run-script": "^6.0.0",
+ "cacache": "^17.0.0",
+ "fs-minipass": "^3.0.0",
+ "minipass": "^5.0.0",
+ "npm-package-arg": "^10.0.0",
+ "npm-packlist": "^7.0.0",
+ "npm-pick-manifest": "^8.0.0",
+ "npm-registry-fetch": "^14.0.0",
+ "proc-log": "^3.0.0",
+ "promise-retry": "^2.0.1",
+ "read-package-json": "^6.0.0",
+ "read-package-json-fast": "^3.0.0",
+ "sigstore": "^1.3.0",
+ "ssri": "^10.0.0",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "pacote": "lib/bin.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pacote/node_modules/fs-minipass": {
+ "version": "3.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pacote/node_modules/fs-minipass/node_modules/minipass": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/pacote/node_modules/ignore-walk": {
+ "version": "6.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minimatch": "^9.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pacote/node_modules/minimatch": {
+ "version": "9.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/pacote/node_modules/minipass": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pacote/node_modules/npm-packlist": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "ignore-walk": "^6.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-json/node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/parse-json/node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/parse-passwd": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/parse-path": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.0"
+ }
+ },
+ "node_modules/parse-url": {
+ "version": "8.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parse-path": "^7.0.0"
+ }
+ },
+ "node_modules/parse5": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/path-scurry": {
+ "version": "1.10.1",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^9.1.1 || ^10.0.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.0.1",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "14 || >=16.14"
+ }
+ },
+ "node_modules/path-scurry/node_modules/minipass": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pend": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pidtree": {
+ "version": "0.6.0",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "pidtree": "bin/pidtree.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/pify": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.6",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "2.8.8",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "27.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/proc-log": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/progress": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/promise-inflight": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/promise-retry": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "err-code": "^2.0.2",
+ "retry": "^0.12.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/prompts": {
+ "version": "2.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/promzard": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "read": "^2.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/prop-types/node_modules/react-is": {
+ "version": "16.13.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/protocols": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/pseudomap": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/pump": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/puppeteer": {
+ "version": "10.4.0",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "debug": "4.3.1",
+ "devtools-protocol": "0.0.901419",
+ "extract-zip": "2.0.1",
+ "https-proxy-agent": "5.0.0",
+ "node-fetch": "2.6.1",
+ "pkg-dir": "4.2.0",
+ "progress": "2.0.1",
+ "proxy-from-env": "1.1.0",
+ "rimraf": "3.0.2",
+ "tar-fs": "2.0.0",
+ "unbzip2-stream": "1.3.3",
+ "ws": "7.4.6"
+ },
+ "engines": {
+ "node": ">=10.18.1"
+ }
+ },
+ "node_modules/puppeteer/node_modules/debug": {
+ "version": "4.3.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/puppeteer/node_modules/https-proxy-agent": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/puppeteer/node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/puppeteer/node_modules/node-fetch": {
+ "version": "2.6.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ }
+ },
+ "node_modules/querystringify": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/quick-lru": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "17.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/read": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "mute-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-cmd-shim": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-package-json": {
+ "version": "6.0.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^10.2.2",
+ "json-parse-even-better-errors": "^3.0.0",
+ "normalize-package-data": "^5.0.0",
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-package-json-fast": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "json-parse-even-better-errors": "^3.0.0",
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-package-json/node_modules/glob": {
+ "version": "10.3.10",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.3.5",
+ "minimatch": "^9.0.1",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+ "path-scurry": "^1.10.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/read-package-json/node_modules/hosted-git-info": {
+ "version": "6.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^7.5.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-package-json/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/read-package-json/node_modules/minimatch": {
+ "version": "9.0.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/read-package-json/node_modules/minipass": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/read-package-json/node_modules/normalize-package-data": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^6.0.0",
+ "is-core-module": "^2.8.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-pkg": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-limit": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-try": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/path-exists": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/load-json-file": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/parse-json": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/path-type": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read/node_modules/mute-stream": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/redent": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "globalthis": "^1.0.3",
+ "which-builtin-type": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "set-function-name": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/requireindex": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.5"
+ }
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/resolve": {
+ "version": "1.22.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-dir": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "expand-tilde": "^2.0.0",
+ "global-modules": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-global": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "global-dirs": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve.exports": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.12.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rfdc": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/run-async": {
+ "version": "2.4.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/run-func": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "run-func": "index.js",
+ "run-func-mem": "mem.js"
+ },
+ "engines": {
+ "node": ">=10.0.0",
+ "npm": ">=6.0.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "7.8.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/safe-array-concat": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "is-regex": "^1.1.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/saxes": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.5.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/shallow-clone": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "1.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.8.1",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/sigstore": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^1.1.0",
+ "@sigstore/protobuf-specs": "^0.2.0",
+ "@sigstore/sign": "^1.0.0",
+ "@sigstore/tuf": "^1.0.3",
+ "make-fetch-happen": "^11.0.1"
+ },
+ "bin": {
+ "sigstore": "bin/sigstore.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/simple-git": {
+ "version": "3.20.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@kwsites/file-exists": "^1.1.1",
+ "@kwsites/promise-deferred": "^1.1.1",
+ "debug": "^4.3.4"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/steveukx/git-js?sponsor=1"
+ }
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.0.0",
+ "is-fullwidth-code-point": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.7.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks-proxy-agent": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/sort-keys": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-obj": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-exceptions": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "CC-BY-3.0"
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.16",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/split": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "through": "2"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/split2": {
+ "version": "3.2.2",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "readable-stream": "^3.0.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ssri": {
+ "version": "10.0.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/ssri/node_modules/minipass": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/stack-utils": {
+ "version": "2.0.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stack-utils/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/string-argv": {
+ "version": "0.3.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6.19"
+ }
+ },
+ "node_modules/string-length": {
+ "version": "4.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string.prototype.matchall": {
+ "version": "4.0.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.5",
+ "regexp.prototype.flags": "^1.5.0",
+ "set-function-name": "^2.0.0",
+ "side-channel": "^1.0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.padend": {
+ "version": "3.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-eof": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-indent": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strong-log-transformer": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "duplexer": "^0.1.1",
+ "minimist": "^1.2.0",
+ "through": "^2.3.4"
+ },
+ "bin": {
+ "sl-log-transformer": "bin/sl-log-transformer.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/svgo": {
+ "version": "3.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^5.1.0",
+ "css-tree": "^2.2.1",
+ "csso": "^5.0.5",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/svgo"
+ }
+ },
+ "node_modules/svgo/node_modules/commander": {
+ "version": "7.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tar": {
+ "version": "6.2.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/tar-fs": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chownr": "^1.1.1",
+ "mkdirp": "^0.5.1",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.0.0"
+ }
+ },
+ "node_modules/tar-fs/node_modules/chownr": {
+ "version": "1.1.4",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/tar-fs/node_modules/mkdirp": {
+ "version": "0.5.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/tar-stream": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tar/node_modules/minipass": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/temp-dir": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/terminal-link": {
+ "version": "2.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/test-exclude": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/text-extensions": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/throat": {
+ "version": "6.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/through2": {
+ "version": "2.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "node_modules/through2/node_modules/isarray": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/through2/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/through2/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/tmp": {
+ "version": "0.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "rimraf": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.17.0"
+ }
+ },
+ "node_modules/tmpl": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "4.1.3",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tough-cookie/node_modules/universalify": {
+ "version": "0.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/trim-newlines": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ts-api-utils": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16.13.0"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
+ "node_modules/ts-dedent": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.10"
+ }
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.6.2",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/tuf-js": {
+ "version": "1.1.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tufjs/models": "1.0.4",
+ "debug": "^4.3.4",
+ "make-fetch-happen": "^11.1.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.6.0",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "is-typed-array": "^1.1.9"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.2.2",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/uglify-js": {
+ "version": "3.17.4",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "optional": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.0.3",
+ "which-boxed-primitive": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/unbzip2-stream": {
+ "version": "1.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^5.2.1",
+ "through": "^2.3.8"
+ }
+ },
+ "node_modules/unique-filename": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "unique-slug": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/unique-slug": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/universal-user-agent": {
+ "version": "6.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/universalify": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/upath": {
+ "version": "2.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4",
+ "yarn": "*"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.13",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/url-parse": {
+ "version": "1.5.10",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/uuid": {
+ "version": "9.0.1",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/v8-compile-cache-lib": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/v8-to-istanbul": {
+ "version": "8.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "engines": {
+ "node": ">=10.12.0"
+ }
+ },
+ "node_modules/v8-to-istanbul/node_modules/source-map": {
+ "version": "0.7.4",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/validate-branch-name": {
+ "version": "1.3.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^8.3.0",
+ "cosmiconfig": "^7.0.1",
+ "current-git-branch": "^1.1.0"
+ },
+ "bin": {
+ "validate-branch-name": "cli.js"
+ }
+ },
+ "node_modules/validate-branch-name/node_modules/commander": {
+ "version": "8.3.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/validate-branch-name/node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/validate-branch-name/node_modules/yaml": {
+ "version": "1.10.2",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/validate-npm-package-name": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "builtins": "^5.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/w3c-hr-time": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/walker": {
+ "version": "1.0.8",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "makeerror": "1.0.12"
+ }
+ },
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "6.1.0",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=10.4"
+ }
+ },
+ "node_modules/whatwg-encoding": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "2.3.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/whatwg-url/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/which": {
+ "version": "1.3.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-builtin-type": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function.prototype.name": "^1.1.5",
+ "has-tostringtag": "^1.0.0",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.0.5",
+ "is-finalizationregistry": "^1.0.2",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.1.4",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-map": "^2.0.1",
+ "is-set": "^2.0.1",
+ "is-weakmap": "^2.0.1",
+ "is-weakset": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.11",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wordwrap": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/write-file-atomic": {
+ "version": "5.0.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/write-file-atomic/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/write-json-file": {
+ "version": "3.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-indent": "^5.0.0",
+ "graceful-fs": "^4.1.15",
+ "make-dir": "^2.1.0",
+ "pify": "^4.0.1",
+ "sort-keys": "^2.0.0",
+ "write-file-atomic": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/write-json-file/node_modules/detect-indent": {
+ "version": "5.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/write-json-file/node_modules/make-dir": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/write-json-file/node_modules/pify": {
+ "version": "4.0.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/write-json-file/node_modules/semver": {
+ "version": "5.7.2",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/write-json-file/node_modules/write-file-atomic": {
+ "version": "2.4.3",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "node_modules/write-pkg": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sort-keys": "^2.0.0",
+ "type-fest": "^0.4.1",
+ "write-json-file": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/write-pkg/node_modules/type-fest": {
+ "version": "0.4.1",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ws": {
+ "version": "7.4.6",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xml-name-validator": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "2.3.1",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "16.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs/node_modules/cliui": {
+ "version": "7.0.4",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/yargs/node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yauzl": {
+ "version": "2.10.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ },
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..7b614cc
--- /dev/null
+++ b/package.json
@@ -0,0 +1,104 @@
+{
+ "name": "@pine-ds/icons",
+ "version": "2.0.0",
+ "license": "MIT",
+ "description": "Pine Icon Library",
+ "author": " Kajabi Design System Services",
+ "keywords": [
+ "icon",
+ "icon library",
+ "pine",
+ "svg",
+ "web component"
+ ],
+ "workspaces": [
+ "./"
+ ],
+ "main": "dist/index.cjs.js",
+ "module": "dist/index.js",
+ "es2015": "dist/esm/index.mjs",
+ "es2017": "dist/esm/index.mjs",
+ "types": "dist/types/index.d.ts",
+ "collection": "dist/collection/collection-manifest.json",
+ "collection:main": "dist/collection/index.js",
+ "unpkg": "dist/pds-icons/icons.esm.js",
+ "publishConfig": {
+ "access": "public",
+ "directory": "dist"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/Kajabi/pine-icons.git"
+ },
+ "bugs": {
+ "url": "https://github.com/Kajabi/pine-icons/issues"
+ },
+ "scripts": {
+ "build": "run-s build.ts build.icons build.component collection.copy",
+ "build.dev": "run-s build.ts build.icons build.component.dev collection.copy",
+ "build.component": "stencil build --docs",
+ "build.component.dev": "stencil build --dev --docs --watch --serve",
+ "build.icons": "run-func scripts/optimize-svgs.js run $(pwd)",
+ "build.ts": "tsc -p scripts/tsconfig.json",
+ "collection.copy": "run-func scripts/collection-copy.js collectionCopy $(pwd)",
+ "deploy": "run-s build",
+ "figma.export": "node scripts/figma_icons/figma-icon-export.js",
+ "lint": "run-p lint.*",
+ "lint.eslint": "eslint src/**/*.{ts,tsx}",
+ "prepare": "node .scripts/prepare.js",
+ "start": "run-s build.dev",
+ "test": "stencil test --spec --e2e",
+ "test.spec": "stencil test --spec",
+ "test.spec.watch": "stencil test --spec --watch",
+ "test.watch": "stencil test --spec --e2e --watch --coverage",
+ "update": "run-s build.ts build figma.export"
+ },
+ "files": [
+ "components/",
+ "dist/",
+ "icons/"
+ ],
+ "dependencies": {
+ "@stencil/core": "^4.0.2"
+ },
+ "devDependencies": {
+ "@commitlint/cli": "^17.7.2",
+ "@commitlint/config-conventional": "^17.7.0",
+ "@stencil/sass": "^2.0.0",
+ "@types/fs-extra": "^9.0.13",
+ "@types/jest": "^27.0.3",
+ "@types/mkdirp": "^1.0.2",
+ "@types/svgo": "^2.6.4",
+ "@typescript-eslint/eslint-plugin": "^6.7.4",
+ "@typescript-eslint/parser": "^6.7.4",
+ "axios": "^1.1.3",
+ "chalk": "^4.1.2",
+ "cliui": "^8.0.1",
+ "commitizen": "^4.3.0",
+ "eslint": "^8.27.0",
+ "eslint-config-prettier": "^9.0.0",
+ "eslint-plugin-react": "^7.33.2",
+ "eslint-plugin-storybook": "^0.6.14",
+ "fs-extra": "^10.1.0",
+ "husky": "^8.0.3",
+ "jest": "^27.4.5",
+ "jest-cli": "^27.4.5",
+ "lerna": "^7.3.0",
+ "lint-staged": "^14.0.1",
+ "mkdirp": "^1.0.4",
+ "npm-run-all": "^4.1.5",
+ "nx": "16.10.0",
+ "prettier": "^2.7.1",
+ "puppeteer": "^10.0.0",
+ "run-func": "^3.0.0",
+ "simple-git": "^3.16.0",
+ "svgo": "^3.0.0",
+ "typescript": "^5.1.6",
+ "validate-branch-name": "^1.3.0"
+ },
+ "config": {
+ "commitizen": {
+ "path": "./node_modules/cz-conventional-changelog"
+ }
+ }
+}
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..46b1785
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,3 @@
+# PDS Icons
+
+This is the Icon Library for Kajabi's Pine Design System.
diff --git a/scripts/cheatsheet-template.html b/scripts/cheatsheet-template.html
new file mode 100644
index 0000000..427fbe8
--- /dev/null
+++ b/scripts/cheatsheet-template.html
@@ -0,0 +1,41 @@
+
+
+
+
+ Pine icons {{version}} Cheatsheet
+
+
+
+Pine Icons {{version}} Cheatsheet
+{{count}} icons
+
+{{content}}
+
+
diff --git a/scripts/collection-copy.ts b/scripts/collection-copy.ts
new file mode 100644
index 0000000..32024c0
--- /dev/null
+++ b/scripts/collection-copy.ts
@@ -0,0 +1,35 @@
+import fs from 'fs-extra';
+import { join } from 'path';
+
+export const collectionCopy = async (rootDir: string) => {
+ const optimizedSrc = join(rootDir, 'src', 'svg');
+ const distSvgDest = join(rootDir, 'dist', 'svg');
+ const collectionDest = join(rootDir, 'dist', 'collection', 'components', 'pds-icon', 'svg');
+
+ await fs.copy(optimizedSrc, collectionDest);
+ await fs.copy(optimizedSrc, distSvgDest);
+
+ // we don't want to copy the src/svgs to the collection (distribution)
+ await fs.remove(join(rootDir, 'dist', 'collection', 'svg'));
+
+ // don't want to copy the test svgs to the collection either
+ await fs.remove(join(rootDir, 'dist', 'collection', 'components', 'test'));
+
+ const cePackageDir = join(rootDir, 'components');
+ const cePackageJsonPath = join(cePackageDir, 'package.json');
+ const ceCjsPath = join(cePackageDir, 'index.cjs.js');
+
+ const emptyCjs = `/*empty cjs*/`;
+ await fs.writeFile(ceCjsPath, emptyCjs);
+
+ const cePackaageJson = {
+ name: '@ju-skinner/components',
+ description: 'Pine Icons custom element',
+ main: './index.cjs.js',
+ module: '.index.js',
+ types: './index.d.ts',
+ private: true,
+ };
+
+ await fs.writeFile(cePackageJsonPath, JSON.stringify(cePackaageJson, null, 2));
+}
diff --git a/scripts/figma_icons/changelog-template.html b/scripts/figma_icons/changelog-template.html
new file mode 100644
index 0000000..be218fd
--- /dev/null
+++ b/scripts/figma_icons/changelog-template.html
@@ -0,0 +1,81 @@
+
+
+
+
+ {{date}} - {{version}} Changelog
+
+
+
+{{date}} - {{version}} Changelog
+
+Files: Modifed {{modified}} , Renamed {{renamed}} , Deleted {{deleted}} , Created {{created}}
+
+
+Info
+Added icons are new icons that have been introduced in this version. You won't see these icons listed in the "before" column because they did not exist in the previous version.
+
+
Modified icons have undergone some changes since the previous version, which could be a visual change or a change to the code behind the icon. If an icon has undergone a visible change,
+you will see the difference between the "before" and "after" columns. However, if the change was only to the code, you may not notice any difference in the icon's appearance, but it will
+still be listed in the “modified” category
+
+Deleted icons were present in the previous version but have been removed in this version. You will not see these icons listed in the "after" column because they are no longer available
+in the current version.
+
+Renamed icons were present in the previous version but have been renamed in this version. You will see a "Previous" and a "New" filename column. You will not see any visual change
+in the "before" or "after" column.
+
+{{content}}
+
+
+
diff --git a/scripts/figma_icons/figma-icon-export.ts b/scripts/figma_icons/figma-icon-export.ts
new file mode 100644
index 0000000..8089e1e
--- /dev/null
+++ b/scripts/figma_icons/figma-icon-export.ts
@@ -0,0 +1,811 @@
+import * as dotenv from 'dotenv';
+
+import { run as optimizeSvgs} from '../optimize-svgs'
+import { collectionCopy } from '../collection-copy';
+
+
+/* eslint-disable @typescript-eslint/no-var-requires */
+const axios = require('axios');
+import chalk from 'chalk'; // Terminal string styling done right
+import path from 'path';
+import fs from 'fs-extra';
+import mkdirp from 'mkdirp';
+import cliui from 'cliui';
+import { simpleGit, SimpleGitOptions, StatusResult } from 'simple-git';
+
+import { FigmaIcon, FigmaIconConfig, IconFileDetail, SvgDiffResult } from './types';
+
+if (process.env.NODE_ENV !== 'prod') {
+ dotenv.config({ path: `${process.cwd()}/.env` })
+}
+
+
+const info = chalk.white;
+const error = chalk.red.bold;
+const detail = chalk.yellowBright;
+const log = console.log;
+
+const baseDir = process.cwd();
+const scriptsDir = path.join(baseDir, 'scripts');
+const srcDir = path.join(baseDir, 'src');
+const srcSvgBasePath = path.join(srcDir, 'svg');
+
+const date = new Date();
+const strDate = [date.getFullYear().toString(), (date.getMonth() + 1).toString().padStart(2,'0'), date.getDate().toString().padStart(2, '0')].join('-');
+
+let figmaClient;
+
+const run = async (rootDir: string) => {
+ try {
+ const config: FigmaIconConfig = await loadFigmaIconConfig(rootDir);
+ figmaClient = client(config.figmaAccessToken);
+
+ const data = await processData(rootDir, config);
+
+ await optimizeSvgs(rootDir, true);
+
+ const git = gitClient();
+ await git.add(srcSvgBasePath);
+
+ const statusResults: StatusResult = await git.status([srcSvgBasePath]);
+ const filesChanged = statusResults.files;
+
+ if (filesChanged.length <= 0) {
+ log(detail('No changes were found. Exiting the process!!!!'))
+
+ removeTmpDirectory(config);
+
+ return;
+ }
+
+ log('Copying collections...');
+ await collectionCopy(rootDir);
+
+ log(`${makeResultsTable(data.downloaded)}\n`);
+
+ console.log('Icon Count: ', data.icons.length, 'Result Count: ', data.downloaded.length);
+ createJsonIconList(data.icons, srcDir);
+
+ await createChangelogHTML(statusResults);
+
+ removeTmpDirectory(config)
+
+ // restore staged files in case of failure
+ const { exec } = require('node:child_process')
+ exec(`git restore --staged ${srcSvgBasePath}`)
+ }
+ catch (e) {
+ log(error(e));
+ process.exit(1);
+ }
+}
+
+/**
+ * Reads the file contents to read the Svg File and stores
+ * into a property to be used later
+ *
+ * @param status - staus indicator, this could be D - deleted, M - modified, or empty - new
+ * @param filePath - relattive path to the file
+ * @returns - SvgDiffResult
+ */
+const buildBeforeAndAfterSvg = async (status: string, filePath: string, previousFilePath: string = null): Promise => {
+ const filename = path.basename(filePath);
+ const previousFileName = previousFilePath && path.basename(previousFilePath);
+
+ let beforeSvg = null;
+ let afterSvg = null;
+
+ switch(status) {
+ case 'D':
+ beforeSvg = await getFileContentsFromGit(filePath);
+ break;
+
+ case 'M':
+ beforeSvg = await getFileContentsFromGit(filePath);
+ afterSvg = await getFileContentsFromDisk(filename)
+ break;
+
+ case 'R':
+ beforeSvg = await getFileContentsFromGit(previousFilePath);
+ afterSvg = await getFileContentsFromDisk(filename)
+ break;
+
+ case '':
+ afterSvg = await getFileContentsFromDisk(filename);
+ break;
+ }
+
+
+ return {
+ previousFileName,
+ filename,
+ status,
+ before: beforeSvg,
+ after: afterSvg,
+ }
+}
+
+/**
+ * Generates a Header and table
+ *
+ * @param sectionName - name used for the Header
+ * @param data - an array of {@link SVGDiffResult}
+ * @returns The string of html used to represent a section e.g Added in the Changelog
+ */
+const buildHTMLSection = (sectionName: string, data: Array) => {
+ const content = `${sectionName} `
+ const table: string = buildHTMLTable(data, sectionName == 'Renamed');
+
+ return [content, table].join('\n')
+}
+
+/**
+ * Generates a HTML Table
+ *
+ * @param data an array of {@link SvgDiffResult}
+ * @returns - The html table markup
+ */
+const buildHTMLTable = (data: Array, isRenamed = false) => {
+ const tableRows = data.map((diff) => `
+ ${ isRenamed ? `${diff.previousFileName} ` : ''}
+ ${diff.filename}
+ ${diff.before || ''}
+ ${diff.after || ''}
+ `);
+
+ const tableBody = `
+ ${tableRows.join('')}
+ `
+
+ const table = `
+
+
+ ${ isRenamed ? `Previous Filename ` : ''}
+ ${ isRenamed ? `New Filename ` : 'FileName'}
+ Before
+ After
+
+
+ ${tableBody}
+
`
+
+ return table;
+}
+
+
+/**
+ * Creates the axios client with the appropriate
+ * headers and url.
+ *
+ * @param apiToken required token to pass in the headers
+ * @returns Axios client object
+ */
+const client = (apiToken) => {
+ const figmaBaseApiURL = 'https://api.figma.com/v1';
+ const instance = axios.create({
+ baseURL: figmaBaseApiURL,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'X-Figma-Token': apiToken
+ }
+ })
+
+ instance.interceptors.request.use((conf) => {
+ conf.startTime = new Date().getTime();
+
+ return conf;
+ });
+
+ return instance;
+};
+
+/**
+ * Creates the Changelog.html file based on the
+ * latest data pulled from Figma
+ *
+ * @returns The results from SimpleGit.status()
+ */
+const createChangelogHTML = async (statusResults: StatusResult) => {
+ const {modified, created, deleted, renamed} = await processStatusResults(statusResults);
+
+ // Adding or Deleting will be Major version bump
+ // Modifying will be a MINOR version bump
+
+ const html = fs.readFileSync(path.join(scriptsDir, 'figma_icons', 'changelog-template.html'), 'utf8')
+ .replace(/{{date}}/g, strDate)
+ .replace(/{{modified}}/g, statusResults.modified.length.toString())
+ .replace(/{{deleted}}/g, statusResults.deleted.length.toString())
+ .replace(/{{created}}/g, statusResults.created.length.toString())
+ .replace(/{{renamed}}/g, statusResults.renamed.length.toString())
+ .replace(/{{content}}/g, [created, modified, deleted, renamed].join('\n'));
+
+ const changelogFilename = `${strDate}-changelog.html`
+ const changelogPath = path.join(baseDir, 'changelogs');
+ const fullChangelogFilename = path.join(changelogPath, changelogFilename)
+
+ // Write file to changelogs directory
+ fs.writeFileSync(fullChangelogFilename, html);
+
+ const arrChangelogs = fs.readdirSync(changelogPath);
+
+ const changelogRecords = []
+ let numberOfChangelogs = 0;
+
+ arrChangelogs.reverse().forEach((filename, idx) => {
+ if ( path.extname(filename) === '.html') {
+ if (idx < 10 ) {
+ changelogRecords.push(`${path.basename(filename)} `)
+ }
+ numberOfChangelogs++
+ }
+ })
+ log('Number of Changelog files found: ', detail(numberOfChangelogs));
+
+ const indexHtml = fs.readFileSync(path.join(baseDir, 'src','index-template.html'), 'utf8')
+ .replace(/{{changelogs}}/g, changelogRecords.join(' '));
+
+ // Copy index.html file to www worker folder
+ fs.writeFileSync(path.join(baseDir, 'src', 'index.html'), indexHtml);
+
+ if ( fs.ensureDir(path.join(baseDir, 'www')) ) {
+ const wwwChangelogPath = path.join(baseDir, 'www', 'changelogs');
+ const wwwChangelogFile = path.join(wwwChangelogPath, changelogFilename);
+
+ // Create Changelogs folder in `www` worker folder
+ fs.mkdirSync(wwwChangelogPath, { recursive: true })
+ fs.copyFileSync(fullChangelogFilename, wwwChangelogFile)
+ }
+
+ return statusResults;
+}
+
+/**
+ * Creates JSON data file that contains additional
+ * metadata
+ *
+ * @example
+ * ```
+ * {
+ * "category": "features",
+ * "name": "access-key",
+ * "tags": [
+ * "access",
+ * "key",
+ * "license",
+ * "object",
+ * "password",
+ * "secure"
+ * ]
+ * }
+ * ```
+ *
+ * @param icons - array of FigmaIcons
+ * @param outputDir - output directory to save the JSON data
+ */
+const createJsonIconList = (icons: Array, outputDir: string) => {
+ try {
+ icons = icons.sort((a,b) => {
+ if (a.name < b.name) return -1;
+ if (a.name > b.name) return 1;
+ return 0;
+ });
+
+ const outputObj = {
+ icons: icons.map((icon) => {
+ let tags;
+
+ if (icon.tags) {
+ tags = icon.tags?.split(',').map((tag) => (tag.trim())).sort();
+ }
+ else {
+ tags = icon.name.split('-');
+ }
+
+ return {
+ name: icon.name,
+ category: icon.frame || null,
+ tags: tags.sort(),
+ }
+ }
+ )};
+
+ const srcJsonStr = JSON.stringify(outputObj, null, 2) + '\n';
+ fs.writeFileSync(path.join(outputDir, 'icon-data.json'), srcJsonStr);
+
+ }
+ catch (e) {
+ logErrorMessage('createJsonIconList', e);
+ }
+}
+
+/**
+ * Creates the directory that will
+ * contain the SVGs
+ *
+ * @param outputDir - The directory name to create
+ */
+const createOutputDirectory = async (outputDir: string) => {
+ return new Promise((resolve) => {
+ const directory = path.resolve(outputDir);
+
+ if(!fs.existsSync(directory)) {
+ log(info(`Directory ${outputDir} does not exist`));
+
+ if (mkdirp.sync(directory)) {
+ log(info(`Created directory ${outputDir}`))
+ resolve();
+ }
+ }
+ else {
+ resolve();
+ }
+ })
+}
+
+/**
+ * Downloads the images
+ *
+ * @param icon - The FigmaIcon object
+ * @param outputDir - The directory that the svg will be downloaded
+ * @returns a object with the name and size of the svg
+ */
+const downloadImage = (icon: FigmaIcon, outputDir: string) => {
+ const nameClean = icon.name.toLowerCase();;
+ const directory = outputDir;
+
+ const imagePath = path.resolve(directory, `${nameClean}.svg`);
+ const writer = fs.createWriteStream(imagePath);
+
+ // log('Image url: ', info(icon.url), 'Frame: ', info(icon.frame));
+ // log('Image Path: ', info(imagePath));
+
+ axios.get(icon.url, {responseType: 'stream'})
+ .then((res) => {
+ res.data.pipe(writer)
+ })
+ .catch((err) => {
+ if (err.message === 'Socket connection timeout') {
+ log(detail('Create new Figma access Token'),)
+ }
+
+ log('Icon name: ', detail(icon.name))
+ log('Error details ', '\nMessage: ', error(err.message), '\nUrl: ', detail(err.config.url))
+ log(chalk.red.bold('Something went wrong fetching the image from S3, please try again'),)
+ log(chalk.red.bold(err),)
+ });
+
+ return new Promise((resolve, reject) => {
+ writer.on('finish', () => {
+ // log(info(`Saved ${name}.svg`, fs.statSync(imagePath).size))
+ icon.filesize = fs.statSync(imagePath).size;
+ resolve({
+ name: `${icon.name}.svg`,
+ size: fs.statSync(imagePath).size
+ })
+ });
+
+ writer.on('error', (err) => {
+ console.log('error writting file', err)
+ reject(err)
+ })
+ })
+}
+
+/**
+ * Extract all the icons from figma page data.
+ *
+ * @param pageData - an object containing the Page details
+ * @param ignoreFrames - an array of names to be ignored
+ * @param componentMetadata - an object containing additional details for the icon
+ * @returns An array of FigmaIcons
+ */
+const extractIcons = (pageData, ignoreFrames: string[], componentMetadata) => {
+ const iconFrames = pageData.children;
+
+ const iconLibrary: Array = [];
+
+ iconFrames.forEach((frame) => {
+ if ( ['COMPONENT_SET', 'FRAME'].includes(frame.type) && (!frame.name.startsWith('_') && !ignoreFrames?.includes(frame.name)) ) {
+ const components = frame.children;
+
+ components.forEach( (component) => {
+ // if ( componentMetadata[component.id] === undefined) {
+ // console.log('Frame: ', frame.name, 'Component Id: ', component.id, 'Metadata: ', componentMetadata[component.id])
+ // }
+
+ const icon = {
+ id: component.id,
+ frame: frame.name.toLowerCase().replaceAll(' ', '-'),
+ name: !isNaN(component.name) ? `number-${component.name}`: component.name
+ };
+
+ if (componentMetadata[component.id] !== undefined ) {
+ icon["tags"] = componentMetadata[component.id].description
+ }
+
+ iconLibrary.push(icon)
+ });
+ }
+ });
+
+ return iconLibrary;
+}
+
+/**
+ * Process that finds and downloads SVGs
+ *
+ * @param page - Page object in figma
+ * @param fileId - The unique Id for the Figma File
+ */
+const fetchAndDownloadIcons = async (page, fileId: string, config: FigmaIconConfig, componentMetadata) => {
+ try {
+ const iconLibrary = extractIcons(page, config.ignoreFrames, componentMetadata);
+
+ log(chalk.yellowBright(iconLibrary.length), info('icons have been extracted'))
+
+ const icons: Array = await fetchImageUrls(fileId, iconLibrary)
+
+ await createOutputDirectory(config.downloadPath);
+ fs.emptyDirSync(config.downloadPath);
+
+ const allIcons = icons.map((icon) => downloadImage(icon, config.downloadPath));
+
+ const results = await Promise.all(allIcons).then((res) => { return res; });
+
+ return {
+ icons: iconLibrary,
+ downloaded: results,
+ }
+
+ } catch (e) {
+ logErrorMessage('fetchAndDonwloadIcons', e);
+ }
+}
+
+/**
+ * Process that will make an API call to retrieve
+ * the FigmaFile data
+ *
+ * @oaram fileId - string: the fileId of the Figma File / Branch
+ * @returns - JSON data from Figma API - See {@link https://www.figma.com/developers/api#get-files-endpoint | GET File}
+ */
+const fetchFigmaData = (fileId: string) => {
+ const requestPath = `files/${fileId}?branch_data=true`;
+
+ const data = figmaClient.get(requestPath)
+ .then((resp) => {
+ return resp.data;
+ })
+ .catch((err) => {
+ log(error('Error occurred fetching Figma Data, error: ', err));
+ });
+
+ return data;
+}
+
+/**
+ * Sends a request to get a collection
+ * icon urls to download
+ *
+ * @param fileId - The FileId that contains the icons
+ * @param icons - An array of @see {@link FigmaIcon}
+ * @returns - Array with urls
+ */
+const fetchImageUrls = (fileId: string, icons: Array) => {
+ return new Promise((resolve) => {
+ const iconIds = icons.map(icon => icon.id).join(',')
+
+ figmaClient.get(`images/${fileId}?ids=${iconIds}&format=svg`)
+ .then((res) => {
+ const imageUrls: string[] = res.data.images;
+ log(info(`Image Api returned ${chalk.yellowBright(Object.keys(res.data.images).length)} image urls\n`));
+
+ icons.forEach(icon => {
+ icon.url = imageUrls[icon.id]
+ })
+
+ resolve(icons);
+ })
+ .catch((err) => {
+ log(error('Unable to get icons: ', err));
+ process.exit(1);
+ });
+ })
+}
+
+/**
+ * Locate the page in the Figma Data
+ *
+ * @param document - Figma document data
+ * @param pageName - Name of the page to find
+ * @returns a Node with the Page data
+ */
+const findPage = (document, pageName: string,) => {
+ const iconPage = document.children.find(c => c.name === pageName);
+
+ if (!iconPage) {
+ log(error('No Page found, please check the name "', chalk.white.bgRedBright(pageName), '"'));
+ process.exit(1);
+ // throw error(`No Page found, please check the name "${chalk.white.bgRedBright(pageName)}"`)
+ }
+
+ return iconPage
+};
+
+/**
+ * Reads the file contents using git cat-file
+ * See {@link https://git-scm.com/docs/git-cat-file} for more details
+ *
+ * @param filePath - the relative path to the file on disk
+ * @returns string
+ */
+const getFileContentsFromGit = async (filePath: string) => {
+ return await gitClient().catFile(['blob', `HEAD:${filePath}`]);
+}
+
+/**
+ * Reads the file contents located on disk
+ * @param filename - the name of the file
+ * @returns string
+ */
+const getFileContentsFromDisk = async (filename: string) => {
+ return await fs.readFileSync(path.join(srcSvgBasePath, filename), 'utf8');
+}
+
+/**
+ * Creates an instance of the SimpleGit object
+ * @param options - list of SimpleGitOptions
+ * @returns SimpleGit client
+ */
+ const gitClient = (options: Partial = {baseDir: srcSvgBasePath, binary: 'git'} ) => {
+ return simpleGit(options);
+ }
+
+/**
+ * Loads the figma-icon-config
+ *
+ * @params rootDir - The source directory
+ * @returns FigmaIconConfig object
+ */
+const loadFigmaIconConfig = async (rootDir: string) => {
+ try {
+ const configFile = path.resolve(path.join(rootDir, 'figma-icon-config.json'));
+
+ if ( fs.existsSync(configFile)) {
+ log(info('Config file located at: ', detail(configFile)));
+
+ const strConfig = await fs.readFile(configFile, 'utf-8');
+ const config = JSON.parse(strConfig) as FigmaIconConfig;
+
+ let hasError = false;
+
+ hasError ||= setFigmaAccessToken(config);
+ hasError ||= setFigmaFileId(config);
+
+ if (hasError) {
+ logErrorMessage('loadFigmaIconConfig', null);
+ process.exit(1);
+ }
+
+ return config;
+ }
+ }
+ catch (e) {
+ logErrorMessage('loadFigmaIconConfig', e);
+ process.exit(1);
+ }
+}
+
+/**
+ * The main process that invokes the Figma Export process
+ *
+ * @params rootDir - The initial starting directory
+ * @params config - The config data
+ */
+const processData = async (rootDir: string, config: FigmaIconConfig) => {
+ try {
+ config.downloadPath = path.join(rootDir, config.downloadPath);
+
+ let figmaFileId = config.figmaFileId;
+ let figmaData = await fetchFigmaData(figmaFileId);
+
+ if ( config.branchName && figmaData.branches.length > 0) {
+ const branch = figmaData.branches.find(b => b.name === config.branchName)
+
+ if (!branch) {
+ // throw error(`No branch found with the name "${chalk.white.bgRed(config.branchName)}"`);
+ log(error('No branch found with the name'), chalk.white.bgRed(config.branchName));
+ process.exit(1);
+ }
+
+ figmaFileId = branch.key;
+ log(info('Found branch!! Retrieving data for Branch:',detail(config.branchName), ', Branch File id:',detail(figmaFileId)));
+
+ figmaData = await fetchFigmaData(figmaFileId);
+ }
+
+ const page = findPage(figmaData.document, config.pageName);
+
+ const response = await fs.emptyDir(config.downloadPath)
+ .then(() => {
+ return fetchAndDownloadIcons(page, figmaFileId, config, figmaData.components);
+ })
+
+ return response;
+ } catch (e) {
+ logErrorMessage('processData', e);
+ }
+}
+
+/**
+ * Processes the SimpleGit status results and builds
+ * the HTML Section data
+ *
+ * @param results - list of results from SimpleGit.status
+ * @returns object - string html data for modifed, created, deleted
+ */
+const processStatusResults = async (results: StatusResult) => {
+ const { modified: m, created: n, deleted: d, renamed: r } = results;
+
+ let created, deleted, modified, renamed
+
+ if (n.length > 0) {
+ created = await Promise.all(n.map((path) => { return buildBeforeAndAfterSvg('', path)}));
+ created = buildHTMLSection('Added', created);
+ }
+
+ if (d.length > 0) {
+ deleted = await Promise.all(d.map((path) => ( buildBeforeAndAfterSvg('D', path))));
+ deleted = buildHTMLSection('Deleted', deleted);
+ }
+
+ if (m.length > 0) {
+ modified = await Promise.all(m.map((path) => ( buildBeforeAndAfterSvg('M', path))));
+ modified = buildHTMLSection('Modified', modified);
+ }
+
+ if (r.length > 0) {
+ renamed = await Promise.all(r.map((path) => ( buildBeforeAndAfterSvg('R', path.to, path.from))));
+ renamed = buildHTMLSection('Renamed', renamed);
+ }
+
+ return { created, deleted, modified, renamed }
+}
+
+/***************************/
+/* Kicks off the Process */
+/***************************/
+console.log(path.join(__dirname, '../..'))
+run(path.join(__dirname, '../..'));
+
+/**
+ *
+ * Helper Methods
+ *
+ *
+ */
+
+/**
+ * Generates a string that represents the number
+ * of KiB
+ *
+ * @param size - number -
+ * @returns string
+ */
+const formatSize = (size) => {
+ return (size / 1024).toFixed(2) + ' KiB'
+}
+
+/**
+ * Logs an error message
+ * @param methodName - the name of the method the error occurred in
+ * @param err - the error
+ */
+const logErrorMessage = (methodName: string, err) => {
+ log('Error in ' , detail(methodName), '\n Message: ', error(err));
+}
+
+/**
+ * Outputs a table of Name and Filesize for each
+ * file downloaded
+ *
+ * @param results - Collection of name and filesize
+ */
+const makeResultsTable = (results) => {
+ const ui = cliui({width: 80});
+
+ ui.div(
+ makeRow(
+ chalk.cyan.bold(`File`),
+ chalk.cyan.bold(`Size`),
+ ) + `\n\n` +
+ results.map(asset => makeRow(
+ asset.name.includes('-duplicate-name')
+ ? chalk.red.bold(asset.name)
+ : chalk.green(asset.name),
+ formatSize(asset.size)
+ )).join(`\n`)
+ )
+ return ui.toString()
+}
+
+const makeRow = (a, b) => {
+ return ` ${a}\t ${b}\t`
+}
+
+/**
+ * Removes the tmp directory created during
+ * the download process from the FigmaAPI
+ *
+ * @param config - FigmaIconConfig object
+ */
+const removeTmpDirectory = (config: FigmaIconConfig) => {
+ log('Removing tmp directory')
+ const tmpDir = path.join(config.downloadPath, '..');
+ fs.rmSync(tmpDir, { force: true, recursive: true });
+}
+/**
+ * Reads and Sets the Figma access token
+ *
+ * @params config - FigmaIconConfig object
+ * @returns boolean - hasError occurred
+ */
+const setFigmaAccessToken = (config: FigmaIconConfig) => {
+ let hasError = false;
+
+ // Figma Token check
+ // Config file overrides Environment variable
+ switch(true) {
+ // Use Environment variable
+ case (!!process.env.FIGMA_ACCESS_TOKEN == true):
+ log(info('Using Figma Access Token in ', detail('ENVIRONMENT variable')));
+ config.figmaAccessToken = process.env.FIGMA_ACCESS_TOKEN;
+ break;
+
+ case (!!config.figmaAccessToken == true):
+ log(info('Using Figma Access Token in ', detail('CONFIGURATION file')));
+ break;
+
+ case (!config.figmaAccessToken && !process.env.FIGMA_ACCESS_TOKEN) == true:
+ hasError ||= true;
+ log(error('No Figma Access Token has been provided!!!!!'));
+ break;
+ }
+
+ return hasError;
+}
+
+/**
+ * Sets the Figma file id
+ *
+ * @params config - FigmaIconConfig object
+ * @returns boolean - hasError occurred
+ */
+const setFigmaFileId = (config: FigmaIconConfig) => {
+ let hasError = false
+
+ // Figma File Id check
+ // Config file overrides Environment Variable
+ switch(true) {
+ // Use Environment variable
+ case (!!process.env.FIGMA_FILE_ID == true):
+ log(info('Using Figma File Id in ',detail('ENVIROMENT variable')));
+ config.figmaFileId = process.env.FIGMA_FILE_ID
+ break;
+
+ // Use provided token in config
+ case (!!config.figmaFileId == true):
+ log(info('Using Figma File Id in ',detail('Configuration file')));
+ break;
+
+
+ // Render error and exit process
+ case (!config.figmaFileId && !process.env.FIGMA_FILE_ID) == true:
+ hasError ||= true;
+ log(error('No Figma File Id has been provided!!!!'))
+
+ break;
+ }
+
+ return hasError;
+}
diff --git a/scripts/figma_icons/types.ts b/scripts/figma_icons/types.ts
new file mode 100644
index 0000000..eebbabc
--- /dev/null
+++ b/scripts/figma_icons/types.ts
@@ -0,0 +1,132 @@
+export interface FigmaIconConfig {
+ /**
+ * Branch that is located in the
+ * Figma file
+ * @example spike-branch
+ */
+ branchName: string;
+
+ /**
+ * The Personal Acecss Token created
+ * from your Figma Account
+ * @see {@link https://www.figma.com/developers/api#intro:~:text=Access-,tokens,-A%20personal%20access|Figma API}
+ */
+ figmaAccessToken: string;
+
+ /**
+ * File id
+ * can be located in the url
+ * @example
+ * ```
+ * https://www.figma.com/file/some-unique-id
+ * ```
+ */
+ figmaFileId: string;
+
+ /**
+ * Frames that will be ignored when
+ * extracting icons
+ * @example
+ * ```json
+ * ignoreFrames: 'Docs'
+ * ```
+ * or
+ * @example
+ * ```json
+ * ignoreFrames: ['Docs', 'Navigation']
+ */
+ ignoreFrames: string[]
+
+ /**
+ * Path to save the downloaded SVGs
+ */
+ downloadPath: string,
+
+ /**
+ * Page that contains the icons
+ */
+ pageName: string,
+}
+
+export type FigmaIcon = {
+ /**
+ * The unique identifier in Figma
+ */
+ id: string;
+
+ /**
+ * The name of the file stored on disk
+ */
+ filename?: string;
+
+ /**
+ * The name of the file stored on disk
+ */
+ filesize?: number;
+
+ /**
+ * The frame the icon is located inside
+ * of Figma
+ *
+ */
+ frame?: string;
+
+ /**
+ * Name of the component
+ */
+ name: string;
+
+ /**
+ * Url to download the icon
+ */
+ url?: string;
+
+ /**
+ * Tags
+ */
+ tags?: string;
+}
+
+export type IconFileDetail = {
+ /**
+ * The name of the svg file
+ */
+ name: string;
+
+ /**
+ * The numeric size of the file in kB
+ */
+ size: number;
+}
+
+export interface SvgDiffResult {
+
+ /**
+ * The name of the Previous file
+ */
+ previousFileName?: string;
+
+ /**
+ * The name of the file
+ */
+ filename: string;
+
+ /**
+ * Git status provided from SimpleGit
+ * Will be 'D', 'M', or ''.
+ * D: Deleted
+ * M: Modified
+ * '': Added
+ */
+ status: string;
+
+ /**
+ * What the svg content looked like before it was modified or deleted
+ */
+ before: string | null;
+
+ /**
+ * What the svg content looked like AFTER it was modified or deleted
+ */
+ after: string | null;
+}
diff --git a/scripts/helpers.ts b/scripts/helpers.ts
new file mode 100644
index 0000000..779ba77
--- /dev/null
+++ b/scripts/helpers.ts
@@ -0,0 +1,113 @@
+export interface SvgData {
+ /**
+ * /dist/svg/airplane-outline.svg
+ */
+ distSvgFilePath: string;
+
+ /**
+ * airplaneOutline
+ */
+ exportName: string;
+
+ /**
+ * airplane-outline.svg
+ */
+ fileName: string;
+
+ /**
+ * airplane-outline.js
+ */
+ fileNameCjs: string;
+
+ /**
+ * airplane-outline.mjs
+ */
+ fileNameMjs: string;
+
+ /**
+ * airplane-outline
+ */
+ iconName: string;
+
+ /**
+ * /dist/pds-icons/svg/airplane-outline.svg
+ */
+ optimizedFilePath: string;
+
+ /**
+ * The path to the save the optimized SVG within the Repo
+ */
+ optimizedLocalSvgFilePath: string;
+
+ /**
+ * Optimized svg content data generated from
+ * SVGO
+ */
+ optimizedSvgContent: string;
+
+ /**
+ * /tmp/svg/airplane-outline.svg
+ */
+ srcFilePath: string;
+
+ /**
+ * airplane
+ */
+ title: string;
+}
+
+export interface JsonData {
+ icons: { name: string; tags?: string[] }[];
+ version?: string;
+}
+
+export const reservedKeywords = new Set([
+ 'do',
+ 'if',
+ 'in',
+ 'for',
+ 'let',
+ 'new',
+ 'try',
+ 'var',
+ 'case',
+ 'else',
+ 'enum',
+ 'eval',
+ 'null',
+ 'this',
+ 'true',
+ 'void',
+ 'with',
+ 'await',
+ 'break',
+ 'catch',
+ 'class',
+ 'const',
+ 'false',
+ 'super',
+ 'throw',
+ 'while',
+ 'yield',
+ 'delete',
+ 'export',
+ 'import',
+ 'public',
+ 'return',
+ 'static',
+ 'switch',
+ 'typeof',
+ 'default',
+ 'extends',
+ 'finally',
+ 'private',
+ 'continue',
+ 'debugger',
+ 'function',
+ 'arguments',
+ 'interface',
+ 'protected',
+ 'implements',
+ 'instanceof',
+ 'constructor',
+])
diff --git a/scripts/optimize-svgs.ts b/scripts/optimize-svgs.ts
new file mode 100644
index 0000000..cb69707
--- /dev/null
+++ b/scripts/optimize-svgs.ts
@@ -0,0 +1,451 @@
+import fs from 'fs-extra';
+import chalk from 'chalk';
+import { join } from 'path'
+import { optimize } from 'svgo';
+
+import { JsonData, SvgData, reservedKeywords } from './helpers';
+
+import camelCase from 'lodash/camelCase';
+import startCase from 'lodash/startCase';
+
+const log = console.log;
+const error = chalk.red.bold;
+
+const libraryName = 'pds-icons';
+
+/**
+ * Builds the icons for distribution
+ *
+ * @param rootDir - The source directory
+ * @param optimizeeFiles - Flag to indicate if we have files to optimize in `tmp/svg` folder.
+ */
+export const run = async(rootDir: string, optimizeFiles = false) => {
+ try {
+ const packageJsonPath = join(rootDir, 'package.json');
+ const distDir = join(rootDir, 'dist');
+ const distPineIconsDir = join(distDir, libraryName);
+ const distSvgDir = join(distDir, 'svg');
+ const iconDir = join(rootDir, 'icons');
+
+ const optimizedOutputDir = join(rootDir, 'src');
+ const optimizedOutputSvgDir = join(optimizedOutputDir, 'svg');
+
+ const srcDir = join(rootDir, 'tmp');
+ let srcSvgDir = join(srcDir, 'svg');
+
+ // We will use the current svgs in the repo (src/svg) as the
+ // source during CI builds. optimizeFiles will be FALSE.
+ //
+ // When running Figma icon process we will use `tmp/svg` folder.
+ // optimizeFiles will be TRUE
+ srcSvgDir = optimizeFiles ? srcSvgDir : optimizedOutputSvgDir;
+
+ log('Source SVG Directory: ', srcSvgDir);
+
+ await cleanDirectories(iconDir, distDir, distSvgDir, distPineIconsDir);
+
+ const packageData = await fs.readJson(packageJsonPath);
+ const version = packageData.version as string;
+
+ log('Getting SVGs...');
+ const srcSvgData = await getSvgs(srcSvgDir, distSvgDir, distPineIconsDir, optimizedOutputSvgDir, optimizeFiles);
+
+ if (optimizeFiles) {
+ log('Optimized OuputSvgDir: ', optimizedOutputSvgDir)
+ await fs.emptyDir(optimizedOutputSvgDir);
+
+ log('Optimizing SVGs...');
+ await optimizeSvgs(srcSvgData);
+ }
+
+ await Promise.all([
+ createDataJson(version, optimizedOutputDir, distDir, srcSvgData),
+ createIconPackage(version, iconDir, srcSvgData),
+ ])
+
+ const svgSymbolsContent = await createSvgSymbols(version, distDir, srcSvgData);
+
+ await createCheatSheet(version, rootDir, distDir, svgSymbolsContent, srcSvgData);
+
+ await copyToTesting(rootDir, distDir, srcSvgData);
+ }
+ catch (e) {
+ log(error(e));
+ process.exit(1);
+ }
+
+}
+
+const cleanDirectories = async (iconDir, distDir, distSvgDir, distPineIconsDir) => {
+ await Promise.all([fs.emptyDir(iconDir), fs.emptyDir(distDir)]);
+ await fs.emptyDir(distSvgDir), await fs.emptyDir(distPineIconsDir);
+}
+
+const getSvgs = async (srcDir: string, distSvgDir: string, distPineIconsDir: string, outputSvgDir: string, isOptimizing: boolean): Promise => {
+ const optimizedSvgDir = join(distPineIconsDir, 'svg');
+ await fs.emptyDir(optimizedSvgDir);
+
+ const svgFiles = (await fs.readdir(srcDir)).filter((filename) => {
+ return !filename.startsWith('.') && filename.endsWith('.svg');
+ });
+
+ const svgData = await Promise.all(
+ svgFiles.map(async (fileName) => {
+ // fileName: airplane-outline.svg
+
+ if (fileName.toLowerCase() !== fileName) {
+ throw new Error(`svg filename "${fileName}" must be all lowercase`);
+ }
+
+ // srcFilePath: /tmp/svg/airplane-outline.svg
+ const srcFilePath = join(srcDir, fileName);
+
+ // distSvgFilePath: /dist/svg/airplane-outline.svg
+ const distSvgFilePath = join(distSvgDir, fileName);
+
+ // optimizedFilePath: /dist/pds-icons/svg/airplane-outline.svg
+ const optimizedFilePath = join(optimizedSvgDir, fileName);
+
+ // optimizedLocalSvgFilePath: /src/svg/airplane-outline.svg
+ const optimizedLocalSvgFilePath = join(outputSvgDir, fileName);
+
+ const dotSplit = fileName.split('.');
+ if (dotSplit.length > 2) {
+ throw new Error(`svg filename "${fileName}" cannot contain more than one period`);
+ }
+
+ // iconName: airplane-outline
+ const iconName = dotSplit[0];
+
+ if (reservedKeywords.has(iconName)) {
+ throw new Error(`svg icon name "${iconName}" is a reserved JavaScript keyword`);
+ }
+
+ // fileNameMjs: airplane-outline.mjs
+ const fileNameMjs = iconName + '.mjs';
+
+ // fileNameCjs: airplane-outline.mjs
+ const fileNameCjs = iconName + '.js';
+
+ // exportName: airplaneOutline
+ const exportName = camelCase(iconName);
+
+ const title = startCase(
+ fileName.replace('.svg', '').replace('-outline', '').replace('-sharp', '').replace(/-/g, ' '),
+ );
+
+ return {
+ distSvgFilePath,
+ exportName,
+ fileName,
+ fileNameCjs,
+ fileNameMjs,
+ iconName,
+ optimizedFilePath,
+ optimizedSvgContent: isOptimizing ? null : await fs.readFile(srcFilePath, 'utf8'),
+ optimizedLocalSvgFilePath,
+ srcFilePath,
+ srcSvgContent: await fs.readFile(srcFilePath, 'utf8'),
+ title,
+ };
+ }),
+ );
+
+ return svgData.sort((a, b) => {
+ if (a.exportName < b.exportName) return -1;
+ if (a.exportName > b.exportName) return 1;
+ return 0;
+ });
+}
+
+/**
+ * Optimizes the SVGs that are located in
+ * the src/svg folder
+ *
+ *
+ */
+const optimizeSvgs = async (srcSvgData: Array) => {
+ const optimizePass = {};
+ const webComponentPass = {
+ multipass: true,
+ plugins: [
+ 'removeStyleElement',
+ 'removeScriptElement',
+ 'removeDimensions',
+ 'removeUselessDefs',
+ {
+ name: 'removeAttrs',
+ params: {
+ attrs: "(fill|stroke|clip-rule)"
+ }
+ },
+ {
+ name: 'addClassesToSVGElement',
+ params: {
+ className: 'pdsicon'
+ }
+ },
+ ],
+ };
+
+ const sourcePass = {
+ multipass: true,
+ plugins: [
+ 'removeStyleElement',
+ 'removeScriptElement',
+ 'removeDimensions',
+ 'removeUselessDefs',
+ {
+ name: 'removeAttrs',
+ params: {
+ attrs: "(fill|stroke|clip-rule)"
+ }
+ },
+ {
+ name: 'addClassesToSVGElement',
+ params: {
+ className: 'pdsicon'
+ }
+ },
+ ]
+ };
+
+ const validatePass = {
+ multipass: true,
+ plugins: [],
+ };
+
+ await Promise.all(
+ srcSvgData.map( async (svgData) => {
+ return optimizeSvg(optimizePass, webComponentPass, sourcePass, validatePass, svgData);
+ }),
+ );
+}
+
+const optimizeSvg = async (optimizePass: Record, webComponentPass: Record, sourcePass: Record, validatePass: Record, svgData: SvgData) => {
+ const srcSvgContent = await fs.readFile(svgData.srcFilePath, 'utf8');
+
+ const optimizedSvg = await optimize(srcSvgContent, Object.assign(optimizePass, { path: svgData.srcFilePath }));
+
+ const optimizedCode = optimizedSvg.data
+
+ const webComponentSvg = await optimize(optimizedCode, Object.assign( webComponentPass, { path: svgData.srcFilePath }));
+ const sourceSvg = await optimize(optimizedCode, Object.assign(sourcePass, { path: svgData.srcFilePath }));
+
+ svgData.optimizedSvgContent = webComponentSvg.data;
+
+ try {
+ optimize(svgData.optimizedSvgContent, Object.assign(validatePass,{ path: svgData.srcFilePath }));
+ }
+ catch (err) {
+ log(error(`${err.message}: ${svgData.srcFilePath}`));
+ }
+
+ await fs.writeFile(svgData.optimizedFilePath, svgData.optimizedSvgContent);
+ await fs.writeFile(svgData.distSvgFilePath, sourceSvg.data);
+ await fs.writeFile(svgData.optimizedLocalSvgFilePath, sourceSvg.data);
+}
+
+const copyToTesting = async (rootDir: string, distDir: string, srcSvgData: Array) => {
+ const testDir = join(rootDir, 'www');
+ const testBuildDir = join(testDir, 'build');
+ const testSvgDir = join(testBuildDir, 'svg');
+
+ await fs.ensureDir(testSvgDir);
+
+ await Promise.all(
+ srcSvgData.map(async (svgData) => {
+ const testSvgFilePath = join(testSvgDir, svgData.fileName);
+ await fs.writeFile(testSvgFilePath, svgData.optimizedSvgContent);
+ }),
+ );
+
+ const distCheatsheetFilePath = join(distDir, 'cheatsheet.html');
+ const testCheatsheetFilePath = join(testDir, 'cheatsheet.html');
+ await fs.copyFile(distCheatsheetFilePath, testCheatsheetFilePath);
+}
+
+const createCheatSheet = async (version: string, rootDir: string, distDir: string, svgSymbolsContent: string, srcSvgData: Array) => {
+ const CheatSheetTmpFilePath = join(rootDir, 'scripts', 'cheatsheet-template.html');
+ const distCheatsheetFilePath = join(distDir, 'cheatsheet.html');
+
+ const c = srcSvgData.map(
+ (svgData) => ` `,
+ );
+
+ c.push(svgSymbolsContent);
+
+ const html = (await fs.readFile(CheatSheetTmpFilePath, 'utf8'))
+ .replace(/{{version}}/g, version)
+ .replace(/{{count}}/g, srcSvgData.length.toString())
+ .replace(/{{content}/g, c.join('\n'));
+
+ await fs.writeFile(distCheatsheetFilePath, html);
+}
+
+const createDataJson = async (version: string, srcDir: string, distDir: string, srcSvgData: Array) => {
+ const srcDataJsonPath = join(srcDir, 'icon-data.json');
+ const distDataJsonPath = join(distDir, `${libraryName}.json`);
+
+ let data: JsonData;
+
+ try {
+ data = await fs.readJson(srcDataJsonPath);
+ }
+ catch (e) {
+ data = {} as any;
+ }
+
+ data.icons = data.icons || [];
+
+ // Add any new icons
+ srcSvgData.forEach((svgData) => {
+ if (!data.icons.some((i) => i.name === svgData.iconName)) {
+ data.icons.push({
+ name: svgData.iconName,
+ })
+ }
+ });
+
+ // remove deleted icons
+ data.icons = data.icons.filter((dataIcon) => {
+ return srcSvgData.some((svgData) => dataIcon.name === svgData.iconName);
+ });
+
+ // Sort the icons
+ data.icons = data.icons.sort((a, b) => {
+ if (a.name < b.name) return -1;
+ if (a.name > b.name) return 1;
+ return 0;
+ });
+
+ data.icons.forEach((icon) => {
+ icon.tags = icon.tags || icon.name.split('-');
+ icon.tags = icon.tags.sort();
+ });
+
+ const srcJsonStr = JSON.stringify(data, null, 2) + '\n';
+ await fs.writeFile(srcDataJsonPath, srcJsonStr);
+
+ const distJsonData = {
+ name: libraryName,
+ version,
+ icons: data.icons,
+ };
+
+ const distJsonStr = JSON.stringify(distJsonData, null, 2) + '\n';
+ await fs.writeFile(distDataJsonPath, distJsonStr);
+}
+
+const createIconPackage = async (version: string, iconDir: string, srcSvgData: Array) => {
+ const iconPkgJsonFilePath = join(iconDir, 'package.json');
+
+ await Promise.all([
+ createEsmIcons(version, iconDir, srcSvgData),
+ createCjsIcons(version, iconDir, srcSvgData),
+ createDtsIcons(version, iconDir, srcSvgData),
+ ]);
+
+ const iconPkgJson = {
+ name: '@ju-skinner/icons',
+ version,
+ module: 'index.mjs',
+ main: 'index.js',
+ typings: 'index.d.ts',
+ private: true
+ };
+
+ const jsonStr = JSON.stringify(iconPkgJson, null, 2) + '\n';
+ await fs.writeFile(iconPkgJsonFilePath, jsonStr);
+}
+
+const createEsmIcons = async (version: string, iconDir: string, srcSvgData: Array) => {
+ const iconEsmFilePath = join(iconDir, 'index.mjs');
+
+ const o = [`/* pds-icons v${version}, ES Modules */`, ``];
+
+ srcSvgData.forEach((svgData) => {
+ o.push(`export const ${svgData.exportName} = ${getDataUrl(svgData)}`);
+ });
+
+ await fs.writeFile(iconEsmFilePath, o.join('\n') + '\n');
+}
+
+const createCjsIcons = async (version: string, iconDir: string, srcSvgData: Array) => {
+ const iconCjsFilePath = join(iconDir, 'index.js');
+
+ const o = [`/* pds-icons v${version}, CommonJs */`, ``];
+
+ srcSvgData.forEach((svgData) => {
+ o.push(`exports.${svgData.exportName} = ${getDataUrl(svgData)}`);
+ });
+
+ await fs.writeFile(iconCjsFilePath, o.join('\n') + '\n');
+}
+
+const createDtsIcons = async (version: string, iconDir: string, srcSvgData: Array) => {
+ const iconDtsFilePath = join(iconDir, 'index.d.ts');
+
+ const o = [`/* pds-icons v${version}, Types */`, ``];
+
+ srcSvgData.forEach((svgData) => {
+ o.push(`export declare var ${svgData.exportName}: string`);
+ });
+
+ await fs.writeFile(iconDtsFilePath, o.join('\n') + '\n');
+}
+
+const createSvgSymbols = async (version: string, distDir: string, srcSvgData: Array) => {
+ srcSvgData = srcSvgData.sort((a, b) => {
+ if (a.iconName < b.iconName) return -1;
+ if (a.iconName > b.iconName) return 1;
+ return 0;
+ });
+
+ const symbolsSvgFilePath = join(distDir, `${libraryName}.symbols.svg`);
+
+ const lines = [
+ ``,
+ ``,
+ ];
+
+ srcSvgData.forEach((svgData) => {
+ const svg = svgData.optimizedSvgContent
+ .replace(``, ``);
+ lines.push(svg);
+ });
+
+ lines.push(` {
+ let svg = svgData.optimizedSvgContent;
+ if ( svg.includes(`'`)) {
+ throw new Error(`Single quotes are NOT allowed!!!!! ${svgData.fileName}`);
+ }
+
+ if (svg.includes('\n') || svg.includes('\r')) {
+ throw new Error(`New lines are NOT allowed!!!!! ${svgData.fileName}`);
+ }
+
+ svg = svg.replace(/"/g, "'");
+
+ return `"data:image/svg+xml;utf8,${svg}"`;
+}
diff --git a/scripts/readme.md b/scripts/readme.md
new file mode 100644
index 0000000..f8a9b93
--- /dev/null
+++ b/scripts/readme.md
@@ -0,0 +1,58 @@
+# Build and Development scripts
+
+# Updating Icons
+The `src/svg` directory is where the icons are downloaded. These are pulled initially from the Figma document, considered the single source of truth. These images are not optimized, as they are just exported from the editor. To get the latest svgs, you will need to run `npx nx icons:update`. Prior to running you will need to configure `figma-icon-config.json`.
+
+# Figma Icon Configuration
+The `figma-icon-config.json` should be located in the root directory. You can follow the instructions below to create one if there isn't one currently. The presence of this file is required to pull icons from Figma.
+
+## Figma Export
+In order to export icons you will need to follow the steps listed below.
+
+### Creating a Figma access token
+1. Navigate to [Figma](https://www.figma.com) and login with your credentials.
+2. Click your Profile avatar and select 'Settings'.
+3. Scroll down until you see 'Personal access tokens'.
+4. Under 'Create a new personal access token:' enter a token description and hit enter.
+5. You should now see a token that you will need to copy and save somewhere safe.
+
+### Configuration File
+The configuration file `figma-icon-config.json` is used to access the API, filter pages and frames located within. Below you will see an example configuration file.
+
+figma-icon-config.json
+```
+{
+ "figmaAccessToken": "some-access-token",
+ "figmaFileId": "figma-file-id",
+ "branchName": "reorg",
+ "pageName": "Icons",
+ "outputPath": "src/svg",
+ "ignoreFrames": ["_Countries", "Docs"]
+}
+```
+
+#### Attributes
+|name|type|required|env var|description|
+|---|---|---|-----|---|
+|figmaAccessToken|string|true|FIGMA_ACCESS_TOKEN|The Personal Access token that you have created in your account. See [above](#creating-a-figma-access-token). You can either set in the config or as environment variable, but one needs to be set.|
+|figmaFileId|string|true|FIGMA_FILE_ID|The unique id for the file. This can be found in the url, when viewing the Figma file. e.g `https://www.figma.com/file/some-unique-id`. In the example this would be `some-unique-id`|
+|branchName|string|false||Name of the branch|
+|pageName|string|true||Name of the page the icons can be found|
+|ouputPath|string|true||Location which the raw svgs should be saved|
+|ignoreFrames|array|false||Name of the frame(s) that may be located in the page you wish to ignore. Frames that are prefixed with `_` are automatically ignored. If there is only one frame, please add it in array format e.g ['Frame to Ignore']
+
+**NOTE**: The `figmaAccessToken` and `figmaFileId` can be set in either the configuration file or as an environment variable. The environment variable will take precedence over the configuration file.
+
+Example on how to use environment variables
+```sh
+FIGMA_ACCESS_TOKEN=[mySampleAccessToken] npx nx run icons:update
+```
+
+# Building locally
+Once the latest svgs have been updated, which would either be added, deleted, or modified in the `src/svg` directory, you can run:
+```sh
+ npx nx icons:build
+```
+
+The `build` command will download the latest icons from the Figma document (see [Figma Icon Configuration](#figma-doc-configuration)), optimize all of the icons, and generate the files to be distributed. Once complete and successful, all of the optimized svgs will be located in `dist/pds-icons/svg`, along with the `pds-icon` web component in the `dist` directory.
+
diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json
new file mode 100644
index 0000000..bdf44b9
--- /dev/null
+++ b/scripts/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "compilerOptions": {
+ "esModuleInterop": true,
+ "module": "commonjs",
+ "target": "es2017"
+ }
+}
diff --git a/src/components.d.ts b/src/components.d.ts
new file mode 100644
index 0000000..47a51c0
--- /dev/null
+++ b/src/components.d.ts
@@ -0,0 +1,71 @@
+/* eslint-disable */
+/* tslint:disable */
+/**
+ * This is an autogenerated file created by the Stencil compiler.
+ * It contains typing information for all components that exist in this project.
+ */
+import { HTMLStencilElement, JSXBase } from "@stencil/core/internal";
+export namespace Components {
+ interface PdsIcon {
+ /**
+ * The color of the icon
+ */
+ "color"?: string;
+ /**
+ * The name of the icon to use from the built-in set.
+ */
+ "name"?: string;
+ /**
+ * The size of the icon. This can be 'small', 'regular', 'medium', large, or a custom value (40px, 1rem, etc)
+ */
+ "size"?: | 'small' // 12px
+ | 'regular' // 16px
+ | 'medium' // 20px
+ | 'large' // 24px
+ | 'auto'
+ | string;
+ }
+}
+declare global {
+ interface HTMLPdsIconElement extends Components.PdsIcon, HTMLStencilElement {
+ }
+ var HTMLPdsIconElement: {
+ prototype: HTMLPdsIconElement;
+ new (): HTMLPdsIconElement;
+ };
+ interface HTMLElementTagNameMap {
+ "pds-icon": HTMLPdsIconElement;
+ }
+}
+declare namespace LocalJSX {
+ interface PdsIcon {
+ /**
+ * The color of the icon
+ */
+ "color"?: string;
+ /**
+ * The name of the icon to use from the built-in set.
+ */
+ "name"?: string;
+ /**
+ * The size of the icon. This can be 'small', 'regular', 'medium', large, or a custom value (40px, 1rem, etc)
+ */
+ "size"?: | 'small' // 12px
+ | 'regular' // 16px
+ | 'medium' // 20px
+ | 'large' // 24px
+ | 'auto'
+ | string;
+ }
+ interface IntrinsicElements {
+ "pds-icon": PdsIcon;
+ }
+}
+export { LocalJSX as JSX };
+declare module "@stencil/core" {
+ export namespace JSX {
+ interface IntrinsicElements {
+ "pds-icon": LocalJSX.PdsIcon & JSXBase.HTMLAttributes;
+ }
+ }
+}
diff --git a/src/components/pds-icon/pds-icon.scss b/src/components/pds-icon/pds-icon.scss
new file mode 100644
index 0000000..e51d1e9
--- /dev/null
+++ b/src/components/pds-icon/pds-icon.scss
@@ -0,0 +1,23 @@
+:host {
+ contain: strict;
+ display: inline-block;
+ fill: currentColor;
+ height: 1em;
+ width: 1em;
+
+ .pdsicon {
+ fill: currentColor;
+ }
+}
+
+.pds-icon-fill-none {
+ fill: none;
+}
+
+.icon-inner,
+.pds-icon,
+svg {
+ display: block;
+ height: 100%;
+ width: 100%;
+}
diff --git a/src/components/pds-icon/pds-icon.tsx b/src/components/pds-icon/pds-icon.tsx
new file mode 100644
index 0000000..f3b57cc
--- /dev/null
+++ b/src/components/pds-icon/pds-icon.tsx
@@ -0,0 +1,169 @@
+import { Build, Component, Element, Host, Prop, State, Watch, h } from '@stencil/core';
+import { getSvgContent, pdsIconContent } from './request';
+import { getName, getUrl, inheritAttributes } from './utils';
+
+@Component({
+ tag: 'pds-icon',
+ assetsDirs: ['svg'],
+ styleUrl: 'pds-icon.scss',
+ shadow: true,
+})
+export class PdsIcon {
+ private io?: IntersectionObserver;
+ private inheritedAttributes: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any
+
+ @Element() el!: HTMLPdsIconElement;
+
+ @State() private ariaLabel?: string;
+ @State() private isVisible = false;
+ @State() private svgContent?: string;
+
+ /**
+ *
+ * The color of the icon
+ *
+ */
+ @Prop() color?: string;
+
+ /**
+ * The name of the icon to use from
+ * the built-in set.
+ */
+ @Prop({ reflect: true }) name?: string;
+
+ /**
+ * The size of the icon. This can be
+ * 'small', 'regular', 'medium', large, or a
+ * custom value (40px, 1rem, etc)
+ *
+ */
+ @Prop({ reflect: true }) size?:
+ | 'small' // 12px
+ | 'regular' // 16px
+ | 'medium' // 20px
+ | 'large' // 24px
+ | 'auto'
+ | string = 'regular'
+
+ private iconSize() {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ const sizes: { [key: string]: any } = {
+ small: '12px',
+ regular: '16px',
+ medium: '20px',
+ large: '24px',
+ }
+
+ if (sizes[this.size]) {
+ return sizes[this.size];
+ } else {
+ return this.size;
+ }
+ }
+ componentWillLoad() {
+ this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
+ }
+
+ connectedCallback() {
+ this.waitUntilVisible(this.el, '50px', () => {
+ this.isVisible = true;
+ this.loadIcon();
+ })
+ }
+
+ disconnectedCallback() {
+ if (this.io) {
+ this.io.disconnect();
+ this.io = undefined;
+ }
+ }
+
+ @Watch('name')
+ loadIcon() {
+ if (Build.isBrowser && this.isVisible) {
+ const url = getUrl(this);
+ if (url) {
+ if (pdsIconContent.has(url)) {
+ this.svgContent = pdsIconContent.get(url);
+ } else {
+ getSvgContent(url).then(() => (this.svgContent = pdsIconContent.get(url)));
+ }
+ }
+ }
+
+ const label = getName(this.name);
+
+ if (label) {
+ this.ariaLabel = label.replace(/\-/g, ' ');
+ }
+ }
+
+ render() {
+ const { ariaLabel, inheritedAttributes } = this;
+
+ const style = {
+ height: this.iconSize(),
+ width: this.iconSize(),
+ color: this.color,
+ }
+
+ return (
+
+
+ {Build.isBrowser && this.svgContent ? (
+
+ ) : (
+
+ )}
+
+ )
+ }
+
+ /*****
+ * Private Methods
+ ****/
+
+ private waitUntilVisible(el: HTMLElement, rootMargin: string, cb: () => void) {
+ if (Build.isBrowser && typeof window !== 'undefined' && (window).IntersectionObserver) {
+ const io = (this.io = new (window).IntersectionObserver(
+ (data: IntersectionObserverEntry[]) => {
+ if (data[0].isIntersecting) {
+ io.disconnect();
+ this.io = undefined;
+ cb();
+ }
+ },
+ { rootMargin },
+ ));
+
+ io.observe(el);
+ } else {
+ // browser doesn't support IntersectionObserver
+ // so just fallback to always show it
+ cb();
+ }
+ }
+
+ private hasAriaHidden = () => {
+ const { el } = this;
+
+ return el.hasAttribute('aria-hidden') && el.getAttribute('aria-hidden') === 'true';
+ }
+}
+
+const createColorClasses = (color: string | undefined) => {
+ return color
+ ? {
+ 'pds-color': true,
+ [`pds-color-${color}`]: true,
+ }
+ : null;
+ };
diff --git a/src/components/pds-icon/readme.md b/src/components/pds-icon/readme.md
new file mode 100644
index 0000000..c14b7be
--- /dev/null
+++ b/src/components/pds-icon/readme.md
@@ -0,0 +1,19 @@
+# pds-icon
+
+
+
+
+
+
+## Properties
+
+| Property | Attribute | Description | Type | Default |
+| -------- | --------- | ---------------------------------------------------------------------------------------------------------- | -------- | ----------- |
+| `color` | `color` | The color of the icon | `string` | `undefined` |
+| `name` | `name` | The name of the icon to use from the built-in set. | `string` | `undefined` |
+| `size` | `size` | The size of the icon. This can be 'small', 'regular', 'medium', large, or a custom value (40px, 1rem, etc) | `string` | `'regular'` |
+
+
+----------------------------------------------
+
+
diff --git a/src/components/pds-icon/request.ts b/src/components/pds-icon/request.ts
new file mode 100644
index 0000000..0cbcd98
--- /dev/null
+++ b/src/components/pds-icon/request.ts
@@ -0,0 +1,31 @@
+import { validateContent } from './validate';
+
+export const pdsIconContent = new Map();
+const requests = new Map>(); // eslint-disable-line @typescript-eslint/no-explicit-any
+
+export const getSvgContent = (url: string, sanitize = false) => {
+ let req = requests.get(url);
+
+ if(!req) {
+ if (typeof fetch != 'undefined' && typeof document !== 'undefined') {
+ // we don't have a request
+ req = fetch(url).then((rsp) => {
+ if (rsp.ok) {
+ return rsp.text().then((svgContent) => {
+ if (svgContent && sanitize !== false) {
+ svgContent = validateContent(svgContent);
+ }
+ pdsIconContent.set(url, svgContent || '');
+ });
+ }
+ pdsIconContent.set(url, '');
+ });
+
+ requests.set(url, req);
+ } else {
+ pdsIconContent.set(url, '');
+ return Promise.resolve();
+ }
+ }
+ return req;
+}
diff --git a/src/components/pds-icon/svg/.gitignore b/src/components/pds-icon/svg/.gitignore
new file mode 100644
index 0000000..9ed5288
--- /dev/null
+++ b/src/components/pds-icon/svg/.gitignore
@@ -0,0 +1,5 @@
+# this gitignore file is used as a placeholder
+# for this directory. The directory itself will
+# contain files generated during a build step.
+*
+!.gitignore
diff --git a/src/components/pds-icon/test/pds-icon.e2e.ts b/src/components/pds-icon/test/pds-icon.e2e.ts
new file mode 100644
index 0000000..ab6592e
--- /dev/null
+++ b/src/components/pds-icon/test/pds-icon.e2e.ts
@@ -0,0 +1,11 @@
+import { newE2EPage } from '@stencil/core/testing';
+
+describe('pds-icon', () => {
+ it('renders', async () => {
+ const page = await newE2EPage();
+
+ await page.setContent(' ');
+ const element = await page.find('pds-icon');
+ expect(element).toHaveClass('hydrated');
+ });
+});
diff --git a/src/components/pds-icon/test/pds-icon.spec.ts b/src/components/pds-icon/test/pds-icon.spec.ts
new file mode 100644
index 0000000..edf0ad6
--- /dev/null
+++ b/src/components/pds-icon/test/pds-icon.spec.ts
@@ -0,0 +1,75 @@
+import { newSpecPage } from '@stencil/core/testing';
+import { PdsIcon } from '../pds-icon';
+
+describe('pds-icon', () => {
+ it('renders', async () => {
+ const { root } = await newSpecPage({
+ components: [PdsIcon],
+ html: ' ',
+ });
+ expect(root).toEqualHtml(`
+
+
+
+
+
+ `);
+ });
+
+ it('renders the correct size when passed', async () => {
+ const { root } = await newSpecPage({
+ components: [PdsIcon],
+ html: ' ',
+ });
+ expect(root).toEqualHtml(`
+
+
+
+
+
+ `);
+ });
+
+ it('allows custom size', async () => {
+ const { root } = await newSpecPage({
+ components: [PdsIcon],
+ html: ' ',
+ });
+ expect(root).toEqualHtml(`
+
+
+
+
+
+ `);
+ });
+
+ it('renders icon when found', async () => {
+ const { root } = await newSpecPage({
+ components: [PdsIcon],
+ html: ' ',
+ });
+ expect(root).toEqualHtml(`
+
+
+
+
+
+ `);
+ });
+
+ it('add correct styles when color specified', async () => {
+ const { root } = await newSpecPage({
+ components: [PdsIcon],
+ html: ' ',
+ });
+ expect(root).toEqualHtml(`
+
+
+
+
+
+ `);
+ });
+
+});
diff --git a/src/components/pds-icon/utils.ts b/src/components/pds-icon/utils.ts
new file mode 100644
index 0000000..38fd08a
--- /dev/null
+++ b/src/components/pds-icon/utils.ts
@@ -0,0 +1,97 @@
+import { getAssetPath } from '@stencil/core';
+import { PdsIcon } from './pds-icon';
+
+let CACHED_MAP: Map;
+
+export const addIcons = (icons: { [name: string]: string; }) => {
+ const map = getIconMap();
+ Object.keys(icons).forEach(name => map.set(name, icons[name]));
+}
+
+export const getIconMap = (): Map => {
+ if (typeof window === 'undefined') {
+ return new Map();
+ } else {
+ if (!CACHED_MAP) {
+ const win = window as any; // eslint-disable-line @typescript-eslint/no-explicit-any
+ win.PdsIcons = win.PdsIcons || {};
+ CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();
+ }
+
+ return CACHED_MAP;
+ }
+}
+
+export const getName = (iconName: string | undefined) => {
+ if (isStr(iconName)) {
+ iconName = toLower(iconName);
+ }
+
+ if (!isStr(iconName) || iconName.trim() === '') {
+ return null;
+ }
+
+ const invalidChars = iconName.replace(/[a-z]|-|\d/gi,'');
+ if (invalidChars != '') { return null; }
+
+ return iconName;
+}
+
+const getNamedUrl = (iconName: string) => {
+ const url = getIconMap().get(iconName);
+ if (url) {
+ return url;
+ }
+
+ return getAssetPath(`svg/${iconName}.svg`);
+};
+
+export const getSrc = (src: string | undefined) => {
+ if (isStr(src)) {
+ src = src.trim();
+
+ if (isSrc(src)) {
+ return src;
+ }
+ }
+
+ return null;
+}
+
+export const getUrl = (icon: PdsIcon) => {
+ const url = getName(icon.name);
+ if (url) {
+ return getNamedUrl(url);
+ }
+};
+
+
+export const isSrc = (str: string) => str.length > 0 && /(\/|\.)/.test(str);
+export const isStr = (val: any): val is string => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any
+export const toLower = (val: string) => val.toLowerCase();
+
+/**
+ * Elements inside of web components sometimes need to inherit global attributes
+ * set on the host. For example, the inner input in `ion-input` should inherit
+ * the `title` attribute that developers set directly on `ion-input`. This
+ * helper function should be called in componentWillLoad and assigned to a variable
+ * that is later used in the render function.
+ *
+ * This does not need to be reactive as changing attributes on the host element
+ * does not trigger a re-render.
+ */
+ export const inheritAttributes = (el: HTMLElement, attributes: string[] = []) => {
+ const attributeObject: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any
+
+ attributes.forEach(attr => {
+ if (el.hasAttribute(attr)) {
+ const value = el.getAttribute(attr);
+ if (value !== null) {
+ attributeObject[attr] = el.getAttribute(attr);
+ }
+ el.removeAttribute(attr);
+ }
+ });
+
+ return attributeObject;
+}
diff --git a/src/components/pds-icon/validate.ts b/src/components/pds-icon/validate.ts
new file mode 100644
index 0000000..6452b9e
--- /dev/null
+++ b/src/components/pds-icon/validate.ts
@@ -0,0 +1,50 @@
+import { isStr } from './utils';
+
+export const validateContent = (svgContent: string) => {
+ const div = document.createElement('div');
+ div.innerHTML = svgContent;
+
+ // setup this way to ensure it works on our buddy IE
+ for (let i = div.childNodes.length - 1; i >= 0; i--) {
+ if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {
+ div.removeChild(div.childNodes[i]);
+ }
+ }
+
+ // must only have 1 root element
+ const svgElm = div.firstElementChild;
+ if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {
+ const svgClass = svgElm.getAttribute('class') || '';
+ svgElm.setAttribute('class', (svgClass + ' s-ion-icon').trim());
+
+ // root element must be an svg
+ // lets double check we've got valid elements
+ // do not allow scripts
+ if (isValid(svgElm as HTMLElement)) {
+ return div.innerHTML;
+ }
+ }
+ return '';
+};
+
+export const isValid = (elm: HTMLElement) => {
+ if (elm.nodeType === 1) {
+ if (elm.nodeName.toLowerCase() === 'script') {
+ return false;
+ }
+
+ for (let i = 0; i < elm.attributes.length; i++) {
+ const name = elm.attributes[i].name;
+ if (isStr(name) && name.toLowerCase().indexOf('on') === 0) {
+ return false;
+ }
+ }
+
+ for (let i = 0; i < elm.childNodes.length; i++) {
+ if (!isValid(elm.childNodes[i] as HTMLElement)) {
+ return false;
+ }
+ }
+ }
+ return true;
+};
diff --git a/src/icon-data.json b/src/icon-data.json
new file mode 100644
index 0000000..f825be3
--- /dev/null
+++ b/src/icon-data.json
@@ -0,0 +1,4214 @@
+{
+ "icons": [
+ {
+ "name": "access-key",
+ "category": "features",
+ "tags": [
+ "access",
+ "key",
+ "license",
+ "object",
+ "password",
+ "secure"
+ ]
+ },
+ {
+ "name": "add",
+ "category": "actions",
+ "tags": [
+ "add",
+ "addition",
+ "create",
+ "expand",
+ "increase",
+ "new",
+ "plus",
+ "positive"
+ ]
+ },
+ {
+ "name": "add-circle",
+ "category": "actions",
+ "tags": [
+ "add",
+ "addition",
+ "create",
+ "expand",
+ "increase",
+ "new",
+ "plus",
+ "positive"
+ ]
+ },
+ {
+ "name": "add-image",
+ "category": "actions",
+ "tags": [
+ "add",
+ "image",
+ "media",
+ "multimedia",
+ "photo",
+ "picture"
+ ]
+ },
+ {
+ "name": "add-small",
+ "category": "actions",
+ "tags": [
+ "add",
+ "addition",
+ "create",
+ "expand",
+ "increase",
+ "new",
+ "plus",
+ "positive"
+ ]
+ },
+ {
+ "name": "ai-sparkle",
+ "category": "actions",
+ "tags": [
+ "brightness",
+ "edit",
+ "effect",
+ "filter",
+ "light",
+ "photo",
+ "spark",
+ "sparkle"
+ ]
+ },
+ {
+ "name": "ai-writer",
+ "category": "features",
+ "tags": [
+ "compose",
+ "create",
+ "design",
+ "development",
+ "draft",
+ "draw",
+ "edit",
+ "editing",
+ "editor",
+ "education",
+ "message",
+ "note",
+ "pen",
+ "pencil",
+ "school",
+ "text",
+ "write"
+ ]
+ },
+ {
+ "name": "ai-writer-filled",
+ "category": "features",
+ "tags": [
+ "compose",
+ "create",
+ "design",
+ "development",
+ "draft",
+ "draw",
+ "edit",
+ "editing",
+ "editor",
+ "education",
+ "message",
+ "note",
+ "pen",
+ "pencil",
+ "school",
+ "text",
+ "write"
+ ]
+ },
+ {
+ "name": "align-center",
+ "category": "text-editor",
+ "tags": [
+ "align",
+ "center"
+ ]
+ },
+ {
+ "name": "align-justify",
+ "category": "text-editor",
+ "tags": [
+ "align",
+ "justify"
+ ]
+ },
+ {
+ "name": "align-left",
+ "category": "text-editor",
+ "tags": [
+ "align",
+ "left"
+ ]
+ },
+ {
+ "name": "align-right",
+ "category": "text-editor",
+ "tags": [
+ "align",
+ "right"
+ ]
+ },
+ {
+ "name": "analytics-filled",
+ "category": "navigation",
+ "tags": [
+ "analytics",
+ "bar",
+ "business",
+ "chart",
+ "data",
+ "diagram",
+ "finance",
+ "graph",
+ "nav",
+ "navigation",
+ "report",
+ "statistics"
+ ]
+ },
+ {
+ "name": "analytics-outline",
+ "category": "navigation",
+ "tags": [
+ "analytics",
+ "bar",
+ "business",
+ "chart",
+ "data",
+ "diagram",
+ "finance",
+ "graph",
+ "nav",
+ "navigation",
+ "report",
+ "statistics"
+ ]
+ },
+ {
+ "name": "app-store",
+ "category": "features",
+ "tags": [
+ "apple",
+ "appstore",
+ "computer",
+ "design",
+ "development",
+ "device",
+ "iPad",
+ "iPhone",
+ "logo",
+ "mac",
+ "pay",
+ "payment"
+ ]
+ },
+ {
+ "name": "archive",
+ "category": "actions",
+ "tags": [
+ "archive",
+ "available",
+ "box",
+ "check",
+ "collection",
+ "container",
+ "document",
+ "drawer",
+ "editor",
+ "file",
+ "folder",
+ "storage",
+ "success"
+ ]
+ },
+ {
+ "name": "arrow-corner",
+ "category": "features",
+ "tags": [
+ "arrow",
+ "arrows",
+ "corner",
+ "curved",
+ "direction",
+ "forward",
+ "keyboard",
+ "move",
+ "navigation",
+ "next",
+ "onward",
+ "onwards",
+ "out",
+ "position",
+ "right",
+ "top",
+ "up",
+ "upward",
+ "upwards"
+ ]
+ },
+ {
+ "name": "arrow-down",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "bottom",
+ "descend",
+ "down",
+ "downward"
+ ]
+ },
+ {
+ "name": "arrow-left",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "back",
+ "backward",
+ "backwards",
+ "direction",
+ "keyboard",
+ "left",
+ "move",
+ "navigation",
+ "out",
+ "position",
+ "previous"
+ ]
+ },
+ {
+ "name": "arrow-right",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "direction",
+ "forward",
+ "keyboard",
+ "move",
+ "navigation",
+ "next",
+ "onward",
+ "onwards",
+ "out",
+ "position",
+ "right"
+ ]
+ },
+ {
+ "name": "arrow-up",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "direction",
+ "keyboard",
+ "move",
+ "navigation",
+ "out",
+ "position",
+ "top",
+ "up",
+ "upward",
+ "upwards"
+ ]
+ },
+ {
+ "name": "assessment",
+ "category": "actions",
+ "tags": [
+ "all",
+ "check",
+ "check-all",
+ "checked",
+ "completed",
+ "done",
+ "filter",
+ "filtering",
+ "list",
+ "mark",
+ "select",
+ "todo"
+ ]
+ },
+ {
+ "name": "at-sign",
+ "category": "site-settings",
+ "tags": [
+ "address",
+ "at sign",
+ "contact",
+ "email",
+ "inbox"
+ ]
+ },
+ {
+ "name": "attach",
+ "category": "actions",
+ "tags": [
+ "attach",
+ "attached",
+ "attaching",
+ "attachment",
+ "clip",
+ "collate",
+ "contact",
+ "copy",
+ "editing",
+ "email",
+ "file",
+ "inbox",
+ "include",
+ "mail",
+ "paper",
+ "paperclip",
+ "text"
+ ]
+ },
+ {
+ "name": "automations",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "arrows",
+ "direction",
+ "directions",
+ "divide",
+ "fork",
+ "organize",
+ "separate",
+ "share",
+ "split",
+ "splitter"
+ ]
+ },
+ {
+ "name": "ban",
+ "category": "actions",
+ "tags": [
+ "ban",
+ "banned",
+ "block",
+ "blocked",
+ "cancel",
+ "forbidden",
+ "none",
+ "not",
+ "prevent",
+ "private",
+ "sign",
+ "stop"
+ ]
+ },
+ {
+ "name": "bank",
+ "category": "features",
+ "tags": [
+ "account",
+ "bank",
+ "business",
+ "columns",
+ "finance",
+ "landmark",
+ "museum",
+ "temple",
+ "travel"
+ ]
+ },
+ {
+ "name": "bell",
+ "category": "site-settings",
+ "tags": [
+ "alarm",
+ "alert",
+ "bell",
+ "buzz",
+ "christmas",
+ "interface",
+ "notification",
+ "ring",
+ "ringing",
+ "ringtone",
+ "sound",
+ "ui",
+ "wake"
+ ]
+ },
+ {
+ "name": "blog",
+ "category": "site-settings",
+ "tags": [
+ "article",
+ "blog",
+ "blogger",
+ "cms",
+ "content",
+ "copywriting",
+ "documentation",
+ "feed",
+ "marketing",
+ "media",
+ "news",
+ "web",
+ "wordpress"
+ ]
+ },
+ {
+ "name": "bold",
+ "category": "text-editor",
+ "tags": [
+ "bold"
+ ]
+ },
+ {
+ "name": "broadcast",
+ "category": "actions",
+ "tags": [
+ "alert",
+ "announcement",
+ "audio",
+ "loudspeaker",
+ "media",
+ "megaphone",
+ "multimedia",
+ "notification",
+ "speaker",
+ "voice"
+ ]
+ },
+ {
+ "name": "calendar-date",
+ "category": "features",
+ "tags": [
+ "appointment",
+ "calendar",
+ "date",
+ "day",
+ "event",
+ "grid",
+ "holidays",
+ "month",
+ "plan",
+ "planning",
+ "schedule",
+ "time",
+ "timetable",
+ "year"
+ ]
+ },
+ {
+ "name": "calendar-schedule",
+ "category": "actions",
+ "tags": [
+ "alarm",
+ "appointment",
+ "calendar",
+ "event",
+ "hours",
+ "opening",
+ "schedule",
+ "time",
+ "times"
+ ]
+ },
+ {
+ "name": "calendar-simple",
+ "category": "actions",
+ "tags": [
+ "appointment",
+ "calendar",
+ "date",
+ "day",
+ "even",
+ "month",
+ "plan",
+ "planning",
+ "schedule",
+ "time",
+ "timetable",
+ "year"
+ ]
+ },
+ {
+ "name": "card-bw-amex",
+ "category": "payment-methods",
+ "tags": [
+ "american express",
+ "amex",
+ "credit card",
+ "payment"
+ ]
+ },
+ {
+ "name": "card-bw-apple-card",
+ "category": "payment-methods",
+ "tags": [
+ "apple pay",
+ "credit card",
+ "payment"
+ ]
+ },
+ {
+ "name": "card-bw-diners-club",
+ "category": "payment-methods",
+ "tags": [
+ "credit card",
+ "diners",
+ "payment"
+ ]
+ },
+ {
+ "name": "card-bw-discover",
+ "category": "payment-methods",
+ "tags": [
+ "credit card",
+ "discover",
+ "payment"
+ ]
+ },
+ {
+ "name": "card-bw-gpay-card",
+ "category": "payment-methods",
+ "tags": [
+ "android",
+ "credit card",
+ "google",
+ "gpay",
+ "payment"
+ ]
+ },
+ {
+ "name": "card-bw-mastercard",
+ "category": "payment-methods",
+ "tags": [
+ "credit card",
+ "mastercard",
+ "payment"
+ ]
+ },
+ {
+ "name": "card-bw-paypal",
+ "category": "payment-methods",
+ "tags": [
+ "credit card",
+ "payment",
+ "paypal"
+ ]
+ },
+ {
+ "name": "card-bw-stripe",
+ "category": "payment-methods",
+ "tags": [
+ "credit card",
+ "payment",
+ "stripe"
+ ]
+ },
+ {
+ "name": "card-bw-visa",
+ "category": "payment-methods",
+ "tags": [
+ "credit card",
+ "payment",
+ "visa"
+ ]
+ },
+ {
+ "name": "card-update",
+ "category": "site-settings",
+ "tags": [
+ "buy",
+ "card",
+ "charge",
+ "checkout",
+ "credit",
+ "credit card",
+ "debit",
+ "finance",
+ "method",
+ "methods",
+ "money",
+ "refresh",
+ "reload",
+ "shop",
+ "shopping payment",
+ "subscription",
+ "sync",
+ "update"
+ ]
+ },
+ {
+ "name": "caret-down",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "bottom",
+ "descent",
+ "down",
+ "downward"
+ ]
+ },
+ {
+ "name": "caret-left",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "back",
+ "backward",
+ "backwards",
+ "direction",
+ "keyboard",
+ "left",
+ "move",
+ "navigation",
+ "out",
+ "position",
+ "previous"
+ ]
+ },
+ {
+ "name": "caret-right",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "direction",
+ "forward",
+ "keyboard",
+ "move",
+ "navigation",
+ "next",
+ "onward",
+ "onwards",
+ "out",
+ "position",
+ "right"
+ ]
+ },
+ {
+ "name": "caret-up",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "direction",
+ "keyboard",
+ "move",
+ "navigation",
+ "out",
+ "position",
+ "top",
+ "up",
+ "upward",
+ "upwards"
+ ]
+ },
+ {
+ "name": "cart",
+ "category": "features",
+ "tags": [
+ "bag",
+ "basket",
+ "but",
+ "cart",
+ "checkout",
+ "ecommerce",
+ "retail",
+ "sale",
+ "shop",
+ "shopping",
+ "trolley"
+ ]
+ },
+ {
+ "name": "cart-add",
+ "category": "features",
+ "tags": [
+ "add",
+ "bag",
+ "basket",
+ "but",
+ "cart",
+ "checkout",
+ "ecommerce",
+ "new",
+ "plus",
+ "retail",
+ "sale",
+ "shop",
+ "shopping",
+ "trolley"
+ ]
+ },
+ {
+ "name": "certificate",
+ "category": "actions",
+ "tags": [
+ "award",
+ "business",
+ "certificate",
+ "degree",
+ "diploma",
+ "education",
+ "finance",
+ "license",
+ "patent",
+ "ribbon",
+ "school"
+ ]
+ },
+ {
+ "name": "check",
+ "category": "actions",
+ "tags": [
+ "accept",
+ "approve",
+ "approved",
+ "check",
+ "checkbox",
+ "checked",
+ "checkmark",
+ "complete",
+ "completed",
+ "done",
+ "mark",
+ "ok",
+ "select",
+ "selected",
+ "success",
+ "tick"
+ ]
+ },
+ {
+ "name": "check-circle",
+ "category": "dialogues",
+ "tags": [
+ "accept",
+ "approve",
+ "approved",
+ "check",
+ "checkbox",
+ "checked",
+ "checkmark",
+ "complete",
+ "completed",
+ "done",
+ "interface",
+ "mark",
+ "ok",
+ "sage-icon-check-circle",
+ "select",
+ "selected",
+ "success",
+ "tick",
+ "ui"
+ ]
+ },
+ {
+ "name": "check-circle-filled",
+ "category": "dialogues",
+ "tags": [
+ "accept",
+ "approve",
+ "approved",
+ "check",
+ "checkbox",
+ "checked",
+ "checkmark",
+ "complete",
+ "completed",
+ "done",
+ "interface",
+ "mark",
+ "ok",
+ "sage-icon-check-circle",
+ "select",
+ "selected",
+ "success",
+ "tick",
+ "ui"
+ ]
+ },
+ {
+ "name": "circle-1",
+ "category": "number",
+ "tags": [
+ "sage-icon-one"
+ ]
+ },
+ {
+ "name": "circle-2",
+ "category": "number",
+ "tags": [
+ "sage-icon-two"
+ ]
+ },
+ {
+ "name": "circle-3",
+ "category": "number",
+ "tags": [
+ "sage-icon-three"
+ ]
+ },
+ {
+ "name": "circle-4",
+ "category": "number",
+ "tags": [
+ "sage-icon-four"
+ ]
+ },
+ {
+ "name": "circle-5",
+ "category": "number",
+ "tags": [
+ "sage-icon-five"
+ ]
+ },
+ {
+ "name": "circle-6",
+ "category": "number",
+ "tags": [
+ "sage-icon-six"
+ ]
+ },
+ {
+ "name": "circle-7",
+ "category": "number",
+ "tags": [
+ "sage-icon-seven"
+ ]
+ },
+ {
+ "name": "circle-8",
+ "category": "number",
+ "tags": [
+ "sage-icon-eight"
+ ]
+ },
+ {
+ "name": "circle-9",
+ "category": "number",
+ "tags": [
+ "sage-icon-nine"
+ ]
+ },
+ {
+ "name": "clock",
+ "category": "actions",
+ "tags": [
+ "alarm",
+ "alert",
+ "appointment",
+ "availability",
+ "available",
+ "clock",
+ "countdown",
+ "daily",
+ "day",
+ "deadline",
+ "event",
+ "hostory",
+ "hour",
+ "monthly",
+ "progress",
+ "schedule",
+ "time",
+ "timer",
+ "track",
+ "tracking",
+ "wait",
+ "watch",
+ "weekly",
+ "yearly"
+ ]
+ },
+ {
+ "name": "closed-captions",
+ "category": "actions",
+ "tags": [
+ "accessibility",
+ "accessible",
+ "captioning",
+ "cc",
+ "closed",
+ "information",
+ "interpretive",
+ "subtitles",
+ "television",
+ "text"
+ ]
+ },
+ {
+ "name": "code",
+ "category": "text-editor",
+ "tags": [
+ "code"
+ ]
+ },
+ {
+ "name": "color",
+ "category": "text-editor",
+ "tags": [
+ "color"
+ ]
+ },
+ {
+ "name": "columns",
+ "category": "actions",
+ "tags": [
+ "board",
+ "columns",
+ "grid",
+ "list",
+ "template"
+ ]
+ },
+ {
+ "name": "comment",
+ "category": "features",
+ "tags": [
+ "answer",
+ "bubble",
+ "bubbles",
+ "chat",
+ "comment",
+ "comments",
+ "communication",
+ "conversation",
+ "dialog",
+ "forum",
+ "message",
+ "messages",
+ "reply",
+ "speaking",
+ "talk"
+ ]
+ },
+ {
+ "name": "connect",
+ "category": "features",
+ "tags": [
+ "attachment",
+ "chain",
+ "connection",
+ "connections",
+ "hyperlink",
+ "link",
+ "linked",
+ "links",
+ "share",
+ "url",
+ "web"
+ ]
+ },
+ {
+ "name": "contact",
+ "category": "features",
+ "tags": [
+ "access",
+ "badge",
+ "card",
+ "contact",
+ "document",
+ "human",
+ "identification",
+ "identity",
+ "login",
+ "man",
+ "member",
+ "profile",
+ "tag",
+ "user",
+ "users"
+ ]
+ },
+ {
+ "name": "contacts-filled",
+ "category": "navigation",
+ "tags": [
+ "contacts",
+ "nav",
+ "navigation"
+ ]
+ },
+ {
+ "name": "contacts-outline",
+ "category": "navigation",
+ "tags": [
+ "nav",
+ "navigation",
+ "sage-icon-user-circle"
+ ]
+ },
+ {
+ "name": "conversation",
+ "category": "actions",
+ "tags": [
+ "bubble",
+ "bubbles",
+ "chat",
+ "comment",
+ "comments",
+ "communication",
+ "conversation",
+ "dialog",
+ "forum",
+ "message",
+ "messages",
+ "speaking",
+ "talk"
+ ]
+ },
+ {
+ "name": "copy",
+ "category": "actions",
+ "tags": [
+ "backup",
+ "clone",
+ "copies",
+ "copy",
+ "document",
+ "duplicate",
+ "file",
+ "files",
+ "group",
+ "layer",
+ "layers",
+ "note",
+ "paper",
+ "paste",
+ "report",
+ "separate",
+ "split",
+ "ungroup"
+ ]
+ },
+ {
+ "name": "coupon",
+ "category": "features",
+ "tags": [
+ "coupon",
+ "deal",
+ "discount",
+ "ecommerce",
+ "offer",
+ "reduction",
+ "sale",
+ "shop",
+ "shopping",
+ "ticket"
+ ]
+ },
+ {
+ "name": "course",
+ "category": "features",
+ "tags": [
+ "app",
+ "boxes",
+ "browser",
+ "content",
+ "description",
+ "design",
+ "development",
+ "document",
+ "grid",
+ "header",
+ "image",
+ "internet",
+ "layout",
+ "list",
+ "masonry",
+ "mockup",
+ "page",
+ "paragraph",
+ "photo",
+ "picture",
+ "sidebar",
+ "site",
+ "tab",
+ "table",
+ "text",
+ "tile",
+ "view",
+ "web",
+ "webpage",
+ "website",
+ "wireframe"
+ ]
+ },
+ {
+ "name": "creator-studio",
+ "category": "actions",
+ "tags": [
+ "album",
+ "camera",
+ "episodes",
+ "film",
+ "gallery",
+ "media",
+ "movie",
+ "photography",
+ "player",
+ "playlist",
+ "video",
+ "video-gallery",
+ "youtube"
+ ]
+ },
+ {
+ "name": "creator-studio-filled",
+ "category": "actions",
+ "tags": [
+ "album",
+ "camera",
+ "episodes",
+ "film",
+ "gallery",
+ "media",
+ "movie",
+ "photography",
+ "player",
+ "playlist",
+ "video",
+ "video-gallery",
+ "youtube"
+ ]
+ },
+ {
+ "name": "credit-card",
+ "category": "site-settings",
+ "tags": [
+ "buy",
+ "card",
+ "charge",
+ "checkout",
+ "credit",
+ "credit card",
+ "debit",
+ "finance",
+ "method",
+ "methods",
+ "money",
+ "payment",
+ "shop",
+ "shopping"
+ ]
+ },
+ {
+ "name": "custom-field",
+ "category": "actions",
+ "tags": [
+ "bookmarks",
+ "collection",
+ "favorite",
+ "favourites",
+ "group",
+ "list",
+ "star",
+ "watchlist"
+ ]
+ },
+ {
+ "name": "customize",
+ "category": "actions",
+ "tags": [
+ "art",
+ "artist",
+ "brush",
+ "color",
+ "colors",
+ "design",
+ "draw",
+ "paint",
+ "painter",
+ "painting",
+ "palette",
+ "swatches",
+ "tool"
+ ]
+ },
+ {
+ "name": "danger",
+ "category": "dialogues",
+ "tags": [
+ "alert",
+ "attention",
+ "caution",
+ "danger",
+ "error",
+ "exclamation",
+ "info",
+ "information",
+ "interface",
+ "mark",
+ "notification",
+ "sage-icons-danger",
+ "sign",
+ "stop",
+ "ui",
+ "warning"
+ ]
+ },
+ {
+ "name": "danger-filled",
+ "category": "dialogues",
+ "tags": [
+ "alert",
+ "attention",
+ "caution",
+ "danger",
+ "error",
+ "exclamation",
+ "info",
+ "information",
+ "interface",
+ "mark",
+ "notification",
+ "sage-icons-danger",
+ "sign",
+ "stop",
+ "ui",
+ "warning"
+ ]
+ },
+ {
+ "name": "dashboard-filled",
+ "category": "navigation",
+ "tags": [
+ "address",
+ "apartment",
+ "building",
+ "estate",
+ "home",
+ "home",
+ "homepage",
+ "house",
+ "interface",
+ "local",
+ "nav",
+ "navigation",
+ "office",
+ "page",
+ "real",
+ "shelter",
+ "ui"
+ ]
+ },
+ {
+ "name": "dashboard-outline",
+ "category": "navigation",
+ "tags": [
+ "address",
+ "apartment",
+ "building",
+ "estate",
+ "home",
+ "home",
+ "homepage",
+ "house",
+ "interface",
+ "local",
+ "nav",
+ "navigation",
+ "office",
+ "page",
+ "real",
+ "shelter",
+ "ui"
+ ]
+ },
+ {
+ "name": "delete-circle",
+ "category": "actions",
+ "tags": [
+ "cancel",
+ "close",
+ "decrease",
+ "delete",
+ "deletion",
+ "exit",
+ "less",
+ "minus",
+ "removal",
+ "remove",
+ "subtract"
+ ]
+ },
+ {
+ "name": "delete-key",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "back",
+ "backward",
+ "delete",
+ "direction",
+ "key",
+ "keyboard",
+ "left",
+ "previous",
+ "remove"
+ ]
+ },
+ {
+ "name": "delete-x",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "back",
+ "backward",
+ "cross",
+ "delete",
+ "direction",
+ "key",
+ "keyboard",
+ "left",
+ "previous",
+ "remove"
+ ]
+ },
+ {
+ "name": "dollar-sign",
+ "category": "actions",
+ "tags": [
+ "business",
+ "cash",
+ "currency",
+ "dollar",
+ "finance",
+ "funding",
+ "investment",
+ "money",
+ "shopping"
+ ]
+ },
+ {
+ "name": "dot-menu-horizontal",
+ "category": "actions",
+ "tags": [
+ "circle",
+ "circles",
+ "dot",
+ "dot",
+ "dots",
+ "gallery",
+ "interface",
+ "list",
+ "menu",
+ "more",
+ "navigation",
+ "options",
+ "overflow",
+ "settings"
+ ]
+ },
+ {
+ "name": "down-small",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "bottom",
+ "descend",
+ "down",
+ "downward"
+ ]
+ },
+ {
+ "name": "download",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "bottom",
+ "data",
+ "descend",
+ "down",
+ "download",
+ "downward",
+ "export",
+ "file",
+ "input",
+ "save",
+ "share",
+ "storage",
+ "transfer"
+ ]
+ },
+ {
+ "name": "downsell",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "corner",
+ "direction",
+ "keyboard",
+ "move",
+ "navigation",
+ "next",
+ "out",
+ "position",
+ "right"
+ ]
+ },
+ {
+ "name": "draft",
+ "category": "features",
+ "tags": [
+ "article",
+ "blog",
+ "content",
+ "document",
+ "draft",
+ "file",
+ "folded",
+ "folder",
+ "item",
+ "letter",
+ "note",
+ "page",
+ "paper",
+ "post",
+ "report",
+ "sheet",
+ "single",
+ "text"
+ ]
+ },
+ {
+ "name": "drop",
+ "category": "features",
+ "tags": [
+ "animal",
+ "blood",
+ "drip",
+ "dripping",
+ "drop",
+ "droplet",
+ "energy",
+ "environment",
+ "health",
+ "healthcare",
+ "humid",
+ "ink",
+ "liquid",
+ "medical",
+ "nature",
+ "oil",
+ "petroleum",
+ "rain",
+ "tear",
+ "water",
+ "weather",
+ "wet"
+ ]
+ },
+ {
+ "name": "duplicate",
+ "category": "actions",
+ "tags": [
+ "content",
+ "copy",
+ "document",
+ "documents",
+ "draft",
+ "duplicate",
+ "file",
+ "files",
+ "folder",
+ "group",
+ "item",
+ "letter",
+ "note",
+ "page",
+ "paper",
+ "report",
+ "sheet",
+ "single",
+ "text"
+ ]
+ },
+ {
+ "name": "email-activity",
+ "category": "actions",
+ "tags": [
+ "business",
+ "chart",
+ "computer",
+ "finance",
+ "graph",
+ "laptop",
+ "progress"
+ ]
+ },
+ {
+ "name": "emoji",
+ "category": "actions",
+ "tags": [
+ "cheerful",
+ "emoticon",
+ "happy",
+ "laugh",
+ "mouth",
+ "open",
+ "positive",
+ "smile",
+ "smiley"
+ ]
+ },
+ {
+ "name": "enlarge",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "arrows",
+ "direction",
+ "down",
+ "enlarge",
+ "expand",
+ "increase",
+ "maximize",
+ "select",
+ "up",
+ "vertical"
+ ]
+ },
+ {
+ "name": "enlarge-vertical",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "direction",
+ "enlarge",
+ "expand",
+ "fullscreen",
+ "increase",
+ "maximize",
+ "move",
+ "out",
+ "reach",
+ "vertical",
+ "window",
+ "zoom"
+ ]
+ },
+ {
+ "name": "expand",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "disperse",
+ "enlarge",
+ "expand",
+ "fullscreen",
+ "increase",
+ "maximize",
+ "move",
+ "out",
+ "reach",
+ "window",
+ "zoom"
+ ]
+ },
+ {
+ "name": "facebook",
+ "category": "social",
+ "tags": [
+ "facebook"
+ ]
+ },
+ {
+ "name": "facebook-2",
+ "category": "social",
+ "tags": [
+ "2",
+ "facebook"
+ ]
+ },
+ {
+ "name": "favorite",
+ "category": "actions",
+ "tags": [
+ "award",
+ "dating",
+ "day",
+ "favorite",
+ "favourite",
+ "health",
+ "healthcare",
+ "heart",
+ "like",
+ "love",
+ "medical",
+ "relationship",
+ "romance",
+ "romantic",
+ "valentine",
+ "wishlist"
+ ]
+ },
+ {
+ "name": "feedback",
+ "category": "features",
+ "tags": [
+ "bubble",
+ "chat",
+ "comment",
+ "customer",
+ "feedback",
+ "message",
+ "opinion",
+ "rating",
+ "review",
+ "talk"
+ ]
+ },
+ {
+ "name": "file",
+ "category": "actions",
+ "tags": [
+ "article",
+ "blog",
+ "content",
+ "document",
+ "draft",
+ "file",
+ "folded",
+ "folder",
+ "item",
+ "letter",
+ "note",
+ "page",
+ "paper",
+ "post",
+ "report",
+ "sheet",
+ "single",
+ "text"
+ ]
+ },
+ {
+ "name": "file-money",
+ "category": "site-settings",
+ "tags": [
+ "agreement",
+ "bill",
+ "certificate",
+ "document",
+ "dollar",
+ "file",
+ "folder",
+ "format",
+ "invoice",
+ "item",
+ "money",
+ "order",
+ "paper",
+ "payment",
+ "receipt"
+ ]
+ },
+ {
+ "name": "filter",
+ "category": "actions",
+ "tags": [
+ "categories",
+ "category",
+ "filter",
+ "filtering",
+ "filters",
+ "funnel",
+ "refine",
+ "search",
+ "seo",
+ "settings",
+ "sort",
+ "tool"
+ ]
+ },
+ {
+ "name": "flag",
+ "category": "dialogues",
+ "tags": [
+ "alert",
+ "banner",
+ "flag",
+ "important",
+ "location",
+ "map",
+ "maps",
+ "message",
+ "notify",
+ "tag"
+ ]
+ },
+ {
+ "name": "folder",
+ "category": "features",
+ "tags": [
+ "archive",
+ "catalog",
+ "document",
+ "documents",
+ "envelope",
+ "file",
+ "files",
+ "folder",
+ "format",
+ "office",
+ "paper"
+ ]
+ },
+ {
+ "name": "folder-group",
+ "category": "features",
+ "tags": [
+ "archive",
+ "catalog",
+ "document",
+ "documents",
+ "envelope",
+ "file",
+ "files",
+ "folder",
+ "folders",
+ "format",
+ "office",
+ "paper"
+ ]
+ },
+ {
+ "name": "form",
+ "category": "actions",
+ "tags": [
+ "article",
+ "blog",
+ "clipboard",
+ "content",
+ "document",
+ "draft",
+ "file",
+ "folded",
+ "folder",
+ "item",
+ "letter",
+ "note",
+ "notebook",
+ "notepad",
+ "notes",
+ "pad",
+ "page",
+ "paper",
+ "post",
+ "report",
+ "sheet",
+ "single",
+ "text"
+ ]
+ },
+ {
+ "name": "form-field",
+ "category": "features",
+ "tags": [
+ "backup",
+ "cloud",
+ "data",
+ "ftp",
+ "hosting",
+ "rack",
+ "server",
+ "storage",
+ "sync"
+ ]
+ },
+ {
+ "name": "fullscreen",
+ "category": "text-editor",
+ "tags": [
+ "fullscreen"
+ ]
+ },
+ {
+ "name": "funnel",
+ "category": "features",
+ "tags": [
+ "categories",
+ "category",
+ "filter",
+ "filtering",
+ "filters",
+ "funnel",
+ "interface",
+ "refine",
+ "search",
+ "seo",
+ "settings",
+ "sort",
+ "tool",
+ "ui"
+ ]
+ },
+ {
+ "name": "grant-offer",
+ "category": "actions",
+ "tags": [
+ "box",
+ "christmas",
+ "exchange",
+ "gift",
+ "gift",
+ "holidays",
+ "package",
+ "present"
+ ]
+ },
+ {
+ "name": "handle",
+ "category": "actions",
+ "tags": [
+ "bars",
+ "grab",
+ "grabber",
+ "handle",
+ "lines",
+ "list",
+ "menu",
+ "options"
+ ]
+ },
+ {
+ "name": "handle-2",
+ "category": "actions",
+ "tags": [
+ "dots",
+ "grab",
+ "grabber",
+ "handle",
+ "menu",
+ "options"
+ ]
+ },
+ {
+ "name": "handle-2-vertical",
+ "category": "actions",
+ "tags": [
+ "dots",
+ "grab",
+ "grabber",
+ "handle",
+ "menu",
+ "options"
+ ]
+ },
+ {
+ "name": "hashtag",
+ "category": "actions",
+ "tags": [
+ "hash",
+ "hashtag",
+ "href",
+ "link",
+ "mark",
+ "number",
+ "pound",
+ "sign",
+ "trending"
+ ]
+ },
+ {
+ "name": "heading-large",
+ "category": "text-editor",
+ "tags": [
+ "heading",
+ "large"
+ ]
+ },
+ {
+ "name": "heading-small",
+ "category": "text-editor",
+ "tags": [
+ "heading",
+ "small"
+ ]
+ },
+ {
+ "name": "headset",
+ "category": "features",
+ "tags": [
+ "answer",
+ "audio",
+ "communication",
+ "conversation",
+ "customer",
+ "dialog",
+ "headphone",
+ "headphones",
+ "headset",
+ "help",
+ "listen",
+ "service",
+ "speaking",
+ "support",
+ "talk",
+ "tech"
+ ]
+ },
+ {
+ "name": "help-filled",
+ "category": "navigation",
+ "tags": [
+ "help",
+ "nav",
+ "navigation"
+ ]
+ },
+ {
+ "name": "help-outline",
+ "category": "navigation",
+ "tags": [
+ "help",
+ "nav",
+ "navigation"
+ ]
+ },
+ {
+ "name": "home-alt",
+ "category": "site-settings",
+ "tags": [
+ "address",
+ "apartment",
+ "building",
+ "estate",
+ "home",
+ "home",
+ "homepage",
+ "house",
+ "interface",
+ "local",
+ "nav",
+ "navigation",
+ "office",
+ "page",
+ "real",
+ "shelter",
+ "ui"
+ ]
+ },
+ {
+ "name": "horizontal-line",
+ "category": "text-editor",
+ "tags": [
+ "horizontal",
+ "line"
+ ]
+ },
+ {
+ "name": "image",
+ "category": "actions",
+ "tags": [
+ "album",
+ "canvas",
+ "format",
+ "gallery",
+ "graphic",
+ "image",
+ "landscape",
+ "media",
+ "multimedia",
+ "photo",
+ "photography",
+ "picture"
+ ]
+ },
+ {
+ "name": "info-circle",
+ "category": "dialogues",
+ "tags": [
+ "about",
+ "alert",
+ "faq",
+ "help",
+ "info",
+ "information",
+ "interface",
+ "notification",
+ "sign",
+ "support",
+ "tooltip",
+ "travel",
+ "ui"
+ ]
+ },
+ {
+ "name": "info-circle-filled",
+ "category": "dialogues",
+ "tags": [
+ "about",
+ "alert",
+ "faq",
+ "help",
+ "info",
+ "information",
+ "interface",
+ "notification",
+ "sign",
+ "support",
+ "tooltip",
+ "travel",
+ "ui"
+ ]
+ },
+ {
+ "name": "instagram",
+ "category": "social",
+ "tags": [
+ "instagram"
+ ]
+ },
+ {
+ "name": "ios-battery",
+ "category": "device-specific",
+ "tags": [
+ "For iOS use only"
+ ]
+ },
+ {
+ "name": "ios-data",
+ "category": "device-specific",
+ "tags": [
+ "For iOS use only"
+ ]
+ },
+ {
+ "name": "ios-wifi",
+ "category": "device-specific",
+ "tags": [
+ "For iOS use only"
+ ]
+ },
+ {
+ "name": "italic",
+ "category": "text-editor",
+ "tags": [
+ "italic"
+ ]
+ },
+ {
+ "name": "kajabi-filled",
+ "category": "site-settings",
+ "tags": [
+ "kajabi",
+ "logo"
+ ]
+ },
+ {
+ "name": "kajabi-outlined",
+ "category": "site-settings",
+ "tags": [
+ "kajabi",
+ "logo"
+ ]
+ },
+ {
+ "name": "lab",
+ "category": "features",
+ "tags": [
+ "beaker",
+ "chemical",
+ "drug",
+ "education",
+ "equipment",
+ "experiment",
+ "flask",
+ "glass",
+ "healthcare",
+ "laboratory",
+ "medical",
+ "research",
+ "school",
+ "science",
+ "study",
+ "test",
+ "tube"
+ ]
+ },
+ {
+ "name": "launch",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "connection",
+ "export",
+ "file",
+ "launch",
+ "network",
+ "outbox",
+ "output",
+ "share",
+ "sharing",
+ "social",
+ "start",
+ "storage",
+ "transfer",
+ "up",
+ "upload"
+ ]
+ },
+ {
+ "name": "layout-grid",
+ "category": "actions",
+ "tags": [
+ "boxes",
+ "column",
+ "gallery",
+ "grid",
+ "layout",
+ "row",
+ "shape",
+ "square",
+ "squares",
+ "table",
+ "tile",
+ "view"
+ ]
+ },
+ {
+ "name": "layout-list",
+ "category": "actions",
+ "tags": [
+ "bars",
+ "content",
+ "description",
+ "document",
+ "layout",
+ "lines",
+ "list",
+ "listing",
+ "organize",
+ "page",
+ "paragraph",
+ "tasks",
+ "text",
+ "text",
+ "todo"
+ ]
+ },
+ {
+ "name": "left-small",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "back",
+ "backward",
+ "backwards",
+ "direction",
+ "keyboard",
+ "left",
+ "move",
+ "navigation",
+ "out",
+ "position",
+ "previous"
+ ]
+ },
+ {
+ "name": "linkedin",
+ "category": "social",
+ "tags": [
+ "linkedin"
+ ]
+ },
+ {
+ "name": "list-bullet",
+ "category": "text-editor",
+ "tags": [
+ "bullet",
+ "list"
+ ]
+ },
+ {
+ "name": "list-numbers",
+ "category": "text-editor",
+ "tags": [
+ "list",
+ "numbers"
+ ]
+ },
+ {
+ "name": "location",
+ "category": "features",
+ "tags": [
+ "direction",
+ "gps",
+ "location",
+ "map",
+ "marker",
+ "navigation",
+ "pin",
+ "pin",
+ "place",
+ "position"
+ ]
+ },
+ {
+ "name": "lock",
+ "category": "features",
+ "tags": [
+ "closed",
+ "encryption",
+ "lock",
+ "locked",
+ "login",
+ "padlock",
+ "password",
+ "policy",
+ "privacy",
+ "protect",
+ "protected",
+ "protection",
+ "safe",
+ "safety",
+ "secure",
+ "security"
+ ]
+ },
+ {
+ "name": "lock-alt",
+ "category": "site-settings",
+ "tags": [
+ "closed",
+ "encryption",
+ "lock",
+ "locked",
+ "login",
+ "padlock",
+ "password",
+ "policy",
+ "privacy",
+ "protect",
+ "protected",
+ "protection",
+ "safe",
+ "safety",
+ "secure",
+ "security"
+ ]
+ },
+ {
+ "name": "logo-afterpay",
+ "category": "payment-methods",
+ "tags": [
+ "afterpay",
+ "logo"
+ ]
+ },
+ {
+ "name": "loop",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "arrows",
+ "infinite",
+ "infinity",
+ "load",
+ "loading",
+ "loop",
+ "process",
+ "refresh",
+ "reload",
+ "repeat",
+ "replay",
+ "sync",
+ "update"
+ ]
+ },
+ {
+ "name": "mail",
+ "category": "features",
+ "tags": [
+ "communication",
+ "contact",
+ "email",
+ "envelope",
+ "letter",
+ "mail",
+ "mailbox",
+ "message",
+ "messages",
+ "news",
+ "newsletter",
+ "post",
+ "send",
+ "write"
+ ]
+ },
+ {
+ "name": "mapped",
+ "category": "features",
+ "tags": [
+ "address",
+ "approved",
+ "check",
+ "checked",
+ "complete",
+ "completed",
+ "direction",
+ "done",
+ "gps",
+ "location",
+ "map",
+ "mark",
+ "navigation",
+ "position",
+ "route",
+ "street",
+ "tick"
+ ]
+ },
+ {
+ "name": "margin-left",
+ "category": "text-editor",
+ "tags": [
+ "left",
+ "margin"
+ ]
+ },
+ {
+ "name": "margin-right",
+ "category": "text-editor",
+ "tags": [
+ "margin",
+ "right"
+ ]
+ },
+ {
+ "name": "marker",
+ "category": "actions",
+ "tags": [
+ "design",
+ "education",
+ "focus",
+ "highlight",
+ "highlighter",
+ "important",
+ "marker",
+ "office",
+ "pen",
+ "pencil",
+ "school",
+ "stationery",
+ "underline",
+ "write"
+ ]
+ },
+ {
+ "name": "marker-filled",
+ "category": "actions",
+ "tags": [
+ "design",
+ "education",
+ "focus",
+ "highlight",
+ "highlighter",
+ "important",
+ "marker",
+ "office",
+ "pen",
+ "pencil",
+ "school",
+ "stationery",
+ "underline",
+ "write"
+ ]
+ },
+ {
+ "name": "marketing-filled",
+ "category": "navigation",
+ "tags": [
+ "alarm",
+ "alert",
+ "announce",
+ "announcement",
+ "attention",
+ "audio",
+ "chat",
+ "communication",
+ "interface",
+ "megaphone",
+ "message",
+ "music",
+ "nav",
+ "navigation",
+ "notification",
+ "shout",
+ "sound",
+ "speaker",
+ "ui",
+ "update",
+ "voice",
+ "volume"
+ ]
+ },
+ {
+ "name": "marketing-outline",
+ "category": "navigation",
+ "tags": [
+ "alarm",
+ "alert",
+ "announce",
+ "announcement",
+ "attention",
+ "audio",
+ "chat",
+ "communication",
+ "interface",
+ "megaphone",
+ "message",
+ "music",
+ "nav",
+ "navigation",
+ "notification",
+ "shout",
+ "sound",
+ "speaker",
+ "ui",
+ "update",
+ "voice",
+ "volume"
+ ]
+ },
+ {
+ "name": "menu",
+ "category": "actions",
+ "tags": [
+ "bars",
+ "burger",
+ "gallery",
+ "hamburger",
+ "lines",
+ "list",
+ "menu",
+ "navigation",
+ "options",
+ "settings"
+ ]
+ },
+ {
+ "name": "menu-2",
+ "category": "site-settings",
+ "tags": [
+ "bars",
+ "burger",
+ "gallery",
+ "hamburger",
+ "interface",
+ "lines",
+ "list",
+ "menu",
+ "navigation",
+ "options",
+ "settings",
+ "ui"
+ ]
+ },
+ {
+ "name": "menu-alt",
+ "category": "actions",
+ "tags": [
+ "bars",
+ "burger",
+ "gallery",
+ "hamburger",
+ "lines",
+ "list",
+ "menu",
+ "navigation",
+ "options",
+ "settings"
+ ]
+ },
+ {
+ "name": "merge",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "combine",
+ "control",
+ "direction",
+ "expand",
+ "git",
+ "join",
+ "merge",
+ "pointing",
+ "together",
+ "unify",
+ "unite",
+ "version"
+ ]
+ },
+ {
+ "name": "microphone",
+ "category": "features",
+ "tags": [
+ "audio",
+ "media",
+ "mic",
+ "microphone",
+ "multimedia",
+ "speaker"
+ ]
+ },
+ {
+ "name": "microphone-off",
+ "category": "actions",
+ "tags": [
+ "audio",
+ "media",
+ "mic",
+ "microphone",
+ "multimedia",
+ "mute",
+ "off",
+ "speaker"
+ ]
+ },
+ {
+ "name": "move-left",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "back",
+ "backward",
+ "backwards",
+ "direction",
+ "keyboard",
+ "left",
+ "move",
+ "navigation",
+ "out",
+ "position",
+ "previous"
+ ]
+ },
+ {
+ "name": "move-right",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "direction",
+ "forward",
+ "keyboard",
+ "move",
+ "navigation",
+ "next",
+ "onward",
+ "onwards",
+ "out",
+ "position",
+ "right"
+ ]
+ },
+ {
+ "name": "multi-pay",
+ "category": "actions",
+ "tags": [
+ "banknotes",
+ "business",
+ "cash",
+ "dollar",
+ "finance",
+ "money",
+ "payment"
+ ]
+ },
+ {
+ "name": "newsletter",
+ "category": "site-settings",
+ "tags": [
+ "communication",
+ "contact",
+ "email",
+ "envelope",
+ "letter",
+ "mail",
+ "mailbox",
+ "message",
+ "messages",
+ "news",
+ "newsletter",
+ "post",
+ "send",
+ "shopping",
+ "subscribe",
+ "write"
+ ]
+ },
+ {
+ "name": "one-off-session",
+ "category": "features",
+ "tags": [
+ "sage-icon-session"
+ ]
+ },
+ {
+ "name": "one-time",
+ "category": "actions",
+ "tags": [
+ "banknotes",
+ "business",
+ "cash",
+ "dollar",
+ "finance",
+ "money",
+ "payment"
+ ]
+ },
+ {
+ "name": "partners-filled",
+ "category": "navigation",
+ "tags": [
+ "account",
+ "avatar",
+ "contact",
+ "favorite",
+ "follower",
+ "friend",
+ "human",
+ "like",
+ "love",
+ "man",
+ "member",
+ "nav",
+ "navigation",
+ "person",
+ "person",
+ "profile",
+ "star",
+ "user",
+ "users",
+ "woman"
+ ]
+ },
+ {
+ "name": "partners-outline",
+ "category": "navigation",
+ "tags": [
+ "account",
+ "avatar",
+ "contact",
+ "favorite",
+ "follower",
+ "friend",
+ "human",
+ "like",
+ "love",
+ "man",
+ "member",
+ "nav",
+ "navigation",
+ "person",
+ "person",
+ "profile",
+ "sage-icon-user-star",
+ "star",
+ "user",
+ "users",
+ "woman"
+ ]
+ },
+ {
+ "name": "pause",
+ "category": "actions",
+ "tags": [
+ "pause"
+ ]
+ },
+ {
+ "name": "pause-circle",
+ "category": "actions",
+ "tags": [
+ "button",
+ "control",
+ "multimedia",
+ "pause"
+ ]
+ },
+ {
+ "name": "payout",
+ "category": "features",
+ "tags": [
+ "business",
+ "cash",
+ "currency",
+ "dollar",
+ "dollar",
+ "finance",
+ "funding",
+ "investment",
+ "money",
+ "shopping"
+ ]
+ },
+ {
+ "name": "pen",
+ "category": "actions",
+ "tags": [
+ "compose",
+ "create",
+ "design",
+ "development",
+ "draft",
+ "draw",
+ "edit",
+ "editing",
+ "editor",
+ "education",
+ "message",
+ "note",
+ "pen",
+ "pencil",
+ "school",
+ "text",
+ "write"
+ ]
+ },
+ {
+ "name": "phone-portrait",
+ "category": "actions",
+ "tags": [
+ "android",
+ "call",
+ "communication",
+ "device",
+ "iOS",
+ "iPhone",
+ "mobile",
+ "phone",
+ "smartphone",
+ "tech",
+ "technology",
+ "telephone",
+ "touchscreen"
+ ]
+ },
+ {
+ "name": "phone-toolbar",
+ "category": "site-settings",
+ "tags": [
+ "android",
+ "call",
+ "communication",
+ "device",
+ "iOS",
+ "iPhone",
+ "menu",
+ "mobile",
+ "phone",
+ "smartphone",
+ "tech",
+ "technology",
+ "telephone",
+ "toolbar",
+ "touchscreen"
+ ]
+ },
+ {
+ "name": "play",
+ "category": "actions",
+ "tags": [
+ "button",
+ "control",
+ "media",
+ "multimedia",
+ "play"
+ ]
+ },
+ {
+ "name": "play-circle",
+ "category": "actions",
+ "tags": [
+ "button",
+ "control",
+ "media",
+ "multimedia",
+ "play"
+ ]
+ },
+ {
+ "name": "play-outline",
+ "category": "actions",
+ "tags": [
+ "button",
+ "control",
+ "media",
+ "multimedia",
+ "play"
+ ]
+ },
+ {
+ "name": "play-store",
+ "category": "features",
+ "tags": [
+ "android",
+ "app",
+ "application",
+ "appstore",
+ "development",
+ "google",
+ "market",
+ "media",
+ "music",
+ "play",
+ "video"
+ ]
+ },
+ {
+ "name": "plug",
+ "category": "site-settings",
+ "tags": [
+ "add-on",
+ "api",
+ "application",
+ "cable",
+ "development",
+ "electric",
+ "electricity",
+ "energy",
+ "extension",
+ "integration",
+ "jack",
+ "plug",
+ "plugin",
+ "tools",
+ "widget"
+ ]
+ },
+ {
+ "name": "present",
+ "category": "features",
+ "tags": [
+ "birthday",
+ "box",
+ "christmas",
+ "donation",
+ "exchange",
+ "gift",
+ "package",
+ "present",
+ "shopping",
+ "surprise",
+ "wrapped"
+ ]
+ },
+ {
+ "name": "preview-off",
+ "category": "actions",
+ "tags": [
+ "blind",
+ "disabled",
+ "eye",
+ "hidden",
+ "hide",
+ "invisible",
+ "look",
+ "observe",
+ "overview",
+ "preview",
+ "search",
+ "see",
+ "sight",
+ "view",
+ "visibility",
+ "visible",
+ "vision",
+ "watch"
+ ]
+ },
+ {
+ "name": "preview-on",
+ "category": "actions",
+ "tags": [
+ "eye",
+ "look",
+ "observe",
+ "overview",
+ "preview",
+ "search",
+ "see",
+ "sight",
+ "view",
+ "visibility",
+ "visible",
+ "vision",
+ "watch"
+ ]
+ },
+ {
+ "name": "products-filled",
+ "category": "navigation",
+ "tags": [
+ "block",
+ "box",
+ "component",
+ "cube",
+ "delivery",
+ "geometry",
+ "module",
+ "nav",
+ "navigation",
+ "note",
+ "package",
+ "parcel",
+ "product",
+ "shape"
+ ]
+ },
+ {
+ "name": "products-outline",
+ "category": "navigation",
+ "tags": [
+ "block",
+ "box",
+ "component",
+ "cube",
+ "delivery",
+ "geometry",
+ "module",
+ "nav",
+ "navigation",
+ "note",
+ "package",
+ "parcel",
+ "product",
+ "shape"
+ ]
+ },
+ {
+ "name": "question-circle",
+ "category": "dialogues",
+ "tags": [
+ "",
+ "about",
+ "alert",
+ "ask",
+ "faq",
+ "help",
+ "info",
+ "information",
+ "interface",
+ "mark",
+ "notification",
+ "query",
+ "question",
+ "sage-icon-question-circle",
+ "sign",
+ "support",
+ "tooltip",
+ "ui"
+ ]
+ },
+ {
+ "name": "quote",
+ "category": "text-editor",
+ "tags": [
+ "quote"
+ ]
+ },
+ {
+ "name": "redo",
+ "category": "text-editor",
+ "tags": [
+ "redo"
+ ]
+ },
+ {
+ "name": "refresh",
+ "category": "actions",
+ "tags": [
+ "",
+ "arrow",
+ "arrows",
+ "infinite",
+ "infinity",
+ "load",
+ "loader",
+ "loading",
+ "loop",
+ "process",
+ "progress",
+ "refresh",
+ "reload",
+ "repeat",
+ "replay",
+ "spinner",
+ "sync",
+ "update",
+ "wait"
+ ]
+ },
+ {
+ "name": "remove",
+ "category": "actions",
+ "tags": [
+ "cancel",
+ "close",
+ "cross",
+ "delete",
+ "deletion",
+ "denied",
+ "discard",
+ "dismiss",
+ "exit",
+ "removal",
+ "remove",
+ "wrong",
+ "x"
+ ]
+ },
+ {
+ "name": "remove-circle",
+ "category": "actions",
+ "tags": [
+ "cancel",
+ "close",
+ "cross",
+ "delete",
+ "deletion",
+ "denied",
+ "discard",
+ "dismiss",
+ "exit",
+ "removal",
+ "remove",
+ "wrong",
+ "x"
+ ]
+ },
+ {
+ "name": "rename",
+ "category": "actions",
+ "tags": [
+ "compose",
+ "create",
+ "design",
+ "development",
+ "draft",
+ "draw",
+ "edit",
+ "editing",
+ "editor",
+ "education",
+ "message",
+ "note",
+ "pen",
+ "pencil",
+ "school",
+ "text",
+ "write"
+ ]
+ },
+ {
+ "name": "reset-password",
+ "category": "actions",
+ "tags": [
+ "clean",
+ "clear",
+ "lock",
+ "password",
+ "remove",
+ "reset"
+ ]
+ },
+ {
+ "name": "restore",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "back",
+ "backup",
+ "cloud",
+ "data",
+ "fix",
+ "machine",
+ "refresh",
+ "restore",
+ "revert",
+ "save",
+ "storage",
+ "time",
+ "up",
+ "watch"
+ ]
+ },
+ {
+ "name": "right-small",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "direction",
+ "forward",
+ "keyboard",
+ "move",
+ "navigation",
+ "next",
+ "onward",
+ "onwards",
+ "out position",
+ "right"
+ ]
+ },
+ {
+ "name": "round-dollar",
+ "category": "features",
+ "tags": [
+ "business",
+ "cashier",
+ "currency",
+ "dollar",
+ "finance",
+ "money",
+ "shopping"
+ ]
+ },
+ {
+ "name": "rows",
+ "category": "actions",
+ "tags": [
+ "cells",
+ "column",
+ "data",
+ "database",
+ "grid",
+ "rows",
+ "sheet",
+ "spreadsheet",
+ "table"
+ ]
+ },
+ {
+ "name": "sales-filled",
+ "category": "navigation",
+ "tags": [
+ "attribute",
+ "category",
+ "discount",
+ "ecommerce",
+ "label",
+ "nav",
+ "navigation",
+ "organize",
+ "price",
+ "sale",
+ "shopping",
+ "store",
+ "tag"
+ ]
+ },
+ {
+ "name": "sales-outline",
+ "category": "navigation",
+ "tags": [
+ "attribute",
+ "category",
+ "discount",
+ "ecommerce",
+ "label",
+ "nav",
+ "navigation",
+ "organize",
+ "price",
+ "sale",
+ "shopping",
+ "store",
+ "tag"
+ ]
+ },
+ {
+ "name": "scissor",
+ "category": "actions",
+ "tags": [
+ "scissor"
+ ]
+ },
+ {
+ "name": "screen-share-off",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "computer",
+ "connection",
+ "device",
+ "disable",
+ "display",
+ "monitor",
+ "network",
+ "off",
+ "pc",
+ "projection",
+ "projector",
+ "screen",
+ "share",
+ "sharing"
+ ]
+ },
+ {
+ "name": "screen-share-on",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "computer",
+ "connection",
+ "device",
+ "disable",
+ "display",
+ "monitor",
+ "network",
+ "pc",
+ "projection",
+ "projector",
+ "screen",
+ "share",
+ "sharing"
+ ]
+ },
+ {
+ "name": "search",
+ "category": "actions",
+ "tags": [
+ "explore",
+ "find",
+ "glass",
+ "lens",
+ "lookup",
+ "magnifier",
+ "magnify",
+ "magnifying",
+ "search",
+ "view",
+ "zoom"
+ ]
+ },
+ {
+ "name": "search-small",
+ "category": "actions",
+ "tags": [
+ "explore",
+ "find",
+ "glass",
+ "lens",
+ "lookup",
+ "magnifier",
+ "magnify",
+ "magnifying",
+ "search",
+ "view",
+ "zoom"
+ ]
+ },
+ {
+ "name": "send-message",
+ "category": "actions",
+ "tags": [
+ "airplane",
+ "communication",
+ "contact",
+ "email",
+ "flight",
+ "fly",
+ "letter",
+ "mail",
+ "message",
+ "messages",
+ "news",
+ "paper",
+ "plane",
+ "send",
+ "sending",
+ "write"
+ ]
+ },
+ {
+ "name": "sequences",
+ "category": "features",
+ "tags": [
+ "sage-icon-sequences"
+ ]
+ },
+ {
+ "name": "series",
+ "category": "features",
+ "tags": [
+ "backup",
+ "clone",
+ "copies",
+ "copy",
+ "document",
+ "duplicate",
+ "file",
+ "files",
+ "group",
+ "layer",
+ "layers",
+ "note",
+ "paper",
+ "paste",
+ "report",
+ "separate",
+ "split",
+ "ungroup"
+ ]
+ },
+ {
+ "name": "settings-filled",
+ "category": "navigation",
+ "tags": [
+ "adjust",
+ "adjustment",
+ "cog",
+ "cogwheel",
+ "configuration",
+ "configure",
+ "edit",
+ "filter",
+ "gear",
+ "nav",
+ "navigation",
+ "option",
+ "options",
+ "setting",
+ "settings",
+ "setup",
+ "system",
+ "tolls",
+ "tool",
+ "wheel"
+ ]
+ },
+ {
+ "name": "settings-outline",
+ "category": "navigation",
+ "tags": [
+ "adjust",
+ "adjustment",
+ "cog",
+ "cogwheel",
+ "configuration",
+ "configure",
+ "edit",
+ "filter",
+ "gear",
+ "nav",
+ "navigation",
+ "option",
+ "options",
+ "setting",
+ "settings",
+ "setup",
+ "system",
+ "tolls",
+ "tool",
+ "wheel"
+ ]
+ },
+ {
+ "name": "share",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "connection",
+ "direction",
+ "forward",
+ "keyboard",
+ "move",
+ "navigation",
+ "next",
+ "onward",
+ "onwards",
+ "out",
+ "position",
+ "right",
+ "share",
+ "social"
+ ]
+ },
+ {
+ "name": "skipped",
+ "category": "features",
+ "tags": [
+ "address",
+ "approved",
+ "cancel",
+ "check",
+ "checked",
+ "complete",
+ "completed",
+ "direction",
+ "done",
+ "gps",
+ "location",
+ "map",
+ "mark",
+ "navigation",
+ "position",
+ "route",
+ "street",
+ "tick"
+ ]
+ },
+ {
+ "name": "slash-divider",
+ "category": "actions",
+ "tags": [
+ "divider",
+ "forward-slash",
+ "slash"
+ ]
+ },
+ {
+ "name": "sparkle",
+ "category": "actions",
+ "tags": [
+ "brightness",
+ "edit",
+ "effect",
+ "filter",
+ "light",
+ "photo",
+ "spark",
+ "sparkle"
+ ]
+ },
+ {
+ "name": "sparkle-filled",
+ "category": "actions",
+ "tags": [
+ "brightness",
+ "edit",
+ "effect",
+ "filter",
+ "light",
+ "photo",
+ "spark",
+ "sparkle"
+ ]
+ },
+ {
+ "name": "speaker",
+ "category": "site-settings",
+ "tags": [
+ "alarm",
+ "alert",
+ "announce",
+ "announcement",
+ "attention",
+ "audio",
+ "chat",
+ "communication",
+ "interface",
+ "megaphone",
+ "message",
+ "music",
+ "nav",
+ "navigation",
+ "notification",
+ "shout",
+ "sound",
+ "speaker",
+ "ui",
+ "update",
+ "voice",
+ "volume"
+ ]
+ },
+ {
+ "name": "stack",
+ "category": "actions",
+ "tags": [
+ "archive",
+ "layer",
+ "layering",
+ "layers",
+ "order",
+ "overlay",
+ "sheet",
+ "sheets",
+ "stack",
+ "stackable",
+ "stacking"
+ ]
+ },
+ {
+ "name": "star",
+ "category": "actions",
+ "tags": [
+ "achievement",
+ "best",
+ "bookmark",
+ "favorite",
+ "important",
+ "like",
+ "rank",
+ "rate",
+ "rating",
+ "scoring",
+ "star",
+ "win review",
+ "winner"
+ ]
+ },
+ {
+ "name": "stop",
+ "category": "actions",
+ "tags": [
+ "button",
+ "control",
+ "multimedia",
+ "stop"
+ ]
+ },
+ {
+ "name": "stopwatch",
+ "category": "actions",
+ "tags": [
+ "alarm",
+ "alert",
+ "chronometer",
+ "clock",
+ "countdown",
+ "deadline",
+ "event",
+ "history",
+ "hour",
+ "lap",
+ "measure",
+ "productivity",
+ "schedule",
+ "speed",
+ "sport",
+ "stopwatch",
+ "time",
+ "timer",
+ "track",
+ "tracking",
+ "watch"
+ ]
+ },
+ {
+ "name": "strikethrough",
+ "category": "text-editor",
+ "tags": [
+ "strikethrough"
+ ]
+ },
+ {
+ "name": "subscript",
+ "category": "text-editor",
+ "tags": [
+ "subscript"
+ ]
+ },
+ {
+ "name": "subscriptions",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "back",
+ "currency",
+ "dollar",
+ "exchange",
+ "money",
+ "payment",
+ "refund",
+ "refundable",
+ "revery"
+ ]
+ },
+ {
+ "name": "super-admin",
+ "category": "features",
+ "tags": [
+ "admin",
+ "super"
+ ]
+ },
+ {
+ "name": "superscript",
+ "category": "text-editor",
+ "tags": [
+ "superscript"
+ ]
+ },
+ {
+ "name": "sync",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "arrows",
+ "energy",
+ "environment",
+ "exchange",
+ "infinite",
+ "infinity",
+ "load",
+ "loading",
+ "loop",
+ "process",
+ "refresh",
+ "reload",
+ "repeat",
+ "replay",
+ "sync",
+ "update"
+ ]
+ },
+ {
+ "name": "tablet-landscape",
+ "category": "actions",
+ "tags": [
+ "amazon",
+ "book",
+ "device",
+ "ebook",
+ "ereader",
+ "iPad",
+ "kindle",
+ "mobile",
+ "read",
+ "reader",
+ "tablet",
+ "touch",
+ "touchscreen"
+ ]
+ },
+ {
+ "name": "tablet-portrait",
+ "category": "actions",
+ "tags": [
+ "amazon",
+ "book",
+ "device",
+ "ebook",
+ "ereader",
+ "iPad",
+ "kindle",
+ "mobile",
+ "read",
+ "reader",
+ "tablet",
+ "touch",
+ "touchscreen"
+ ]
+ },
+ {
+ "name": "text-styles",
+ "category": "text-editor",
+ "tags": [
+ "styles",
+ "text"
+ ]
+ },
+ {
+ "name": "theme-store",
+ "category": "features",
+ "tags": [
+ "commerce",
+ "commercial",
+ "ecommerce",
+ "food",
+ "home",
+ "mall",
+ "market",
+ "online",
+ "property",
+ "retail",
+ "retailer",
+ "shop",
+ "shopping",
+ "store"
+ ]
+ },
+ {
+ "name": "thumbs-down",
+ "category": "actions",
+ "tags": [
+ "dislike",
+ "down",
+ "emoticon",
+ "favorite",
+ "finger",
+ "gesture",
+ "like",
+ "no",
+ "thumbs",
+ "unlike",
+ "vote"
+ ]
+ },
+ {
+ "name": "thumbs-down-filled",
+ "category": "actions",
+ "tags": [
+ "dislike",
+ "down",
+ "emoticon",
+ "favorite",
+ "finger",
+ "gesture",
+ "like",
+ "no",
+ "thumbs",
+ "unlike",
+ "vote"
+ ]
+ },
+ {
+ "name": "thumbs-up",
+ "category": "actions",
+ "tags": [
+ "approve",
+ "favorite",
+ "favourite",
+ "finger",
+ "gesture",
+ "hand",
+ "like",
+ "rate",
+ "thumb",
+ "thumbs",
+ "up",
+ "vote"
+ ]
+ },
+ {
+ "name": "thumbs-up-filled",
+ "category": "actions",
+ "tags": [
+ "approve",
+ "favorite",
+ "favourite",
+ "finger",
+ "gesture",
+ "hand",
+ "like",
+ "rate",
+ "thumb",
+ "thumbs",
+ "up",
+ "vote"
+ ]
+ },
+ {
+ "name": "tiktok",
+ "category": "social",
+ "tags": [
+ "tiktok"
+ ]
+ },
+ {
+ "name": "trash",
+ "category": "actions",
+ "tags": [
+ "bin",
+ "delete",
+ "dump",
+ "garbage",
+ "rubbish",
+ "trash",
+ "trashcan",
+ "waste"
+ ]
+ },
+ {
+ "name": "twitter",
+ "category": "social",
+ "tags": [
+ "twitter"
+ ]
+ },
+ {
+ "name": "underline",
+ "category": "text-editor",
+ "tags": [
+ "underline"
+ ]
+ },
+ {
+ "name": "undo",
+ "category": "text-editor",
+ "tags": [
+ "undo"
+ ]
+ },
+ {
+ "name": "unlock",
+ "category": "features",
+ "tags": [
+ "closed",
+ "encryption",
+ "lock",
+ "locked",
+ "login",
+ "padlock",
+ "password",
+ "policy",
+ "privacy",
+ "protect",
+ "protected",
+ "protection",
+ "safe",
+ "safety",
+ "secure",
+ "security",
+ "theft",
+ "unlock",
+ "unlocked",
+ "unsafe",
+ "unsecure"
+ ]
+ },
+ {
+ "name": "unmapped",
+ "category": "features",
+ "tags": [
+ "address",
+ "approved",
+ "check",
+ "checked",
+ "complete",
+ "completed",
+ "direction",
+ "done",
+ "edit",
+ "gps",
+ "location",
+ "map",
+ "mark",
+ "modify",
+ "navigation",
+ "position",
+ "route",
+ "street",
+ "tick"
+ ]
+ },
+ {
+ "name": "up-small",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "direction",
+ "keyboard",
+ "move",
+ "navigation",
+ "out",
+ "position",
+ "top",
+ "up",
+ "upward",
+ "upwards"
+ ]
+ },
+ {
+ "name": "upload",
+ "category": "actions",
+ "tags": [
+ "arrow",
+ "backup",
+ "cloud",
+ "data",
+ "direction",
+ "file",
+ "ftp",
+ "hosting",
+ "import",
+ "input",
+ "save",
+ "server",
+ "share",
+ "storage",
+ "top",
+ "transfer",
+ "up",
+ "upload",
+ "upward"
+ ]
+ },
+ {
+ "name": "url",
+ "category": "actions",
+ "tags": [
+ "chain",
+ "connection",
+ "connections",
+ "editing",
+ "hyperlink",
+ "link",
+ "linked",
+ "links",
+ "share",
+ "text",
+ "url",
+ "web"
+ ]
+ },
+ {
+ "name": "user",
+ "category": "actions",
+ "tags": [
+ "account",
+ "avatar",
+ "contact",
+ "follower",
+ "friend",
+ "human",
+ "man",
+ "member",
+ "person",
+ "profile",
+ "user",
+ "users",
+ "woman"
+ ]
+ },
+ {
+ "name": "user-filled",
+ "category": "actions",
+ "tags": [
+ "account",
+ "avatar",
+ "contact",
+ "follower",
+ "friend",
+ "human",
+ "man",
+ "member",
+ "person",
+ "profile",
+ "user",
+ "users",
+ "woman"
+ ]
+ },
+ {
+ "name": "users",
+ "category": "features",
+ "tags": [
+ "account",
+ "avatar",
+ "contact",
+ "follower",
+ "friend",
+ "group",
+ "human",
+ "man",
+ "member",
+ "network",
+ "person",
+ "profile",
+ "team",
+ "user",
+ "users",
+ "woman"
+ ]
+ },
+ {
+ "name": "users-wm",
+ "category": "site-settings",
+ "tags": [
+ "",
+ "collective",
+ "community",
+ "coworking",
+ "family",
+ "friends",
+ "group",
+ "lineup",
+ "network",
+ "organization",
+ "people",
+ "players",
+ "population",
+ "team",
+ "user"
+ ]
+ },
+ {
+ "name": "video-off",
+ "category": "actions",
+ "tags": [
+ "ban",
+ "camera",
+ "film",
+ "media",
+ "movie",
+ "not allowed",
+ "off",
+ "play",
+ "show",
+ "video"
+ ]
+ },
+ {
+ "name": "video-on",
+ "category": "actions",
+ "tags": [
+ "camera",
+ "film",
+ "media",
+ "movie",
+ "play",
+ "show",
+ "video"
+ ]
+ },
+ {
+ "name": "warning",
+ "category": "dialogues",
+ "tags": [
+ "alert",
+ "attention",
+ "caution",
+ "danger",
+ "error",
+ "exclamation",
+ "problem",
+ "red",
+ "sage-icon-warning",
+ "sign",
+ "warning"
+ ]
+ },
+ {
+ "name": "warning-filled",
+ "category": "dialogues",
+ "tags": [
+ "alert",
+ "attention",
+ "caution",
+ "danger",
+ "error",
+ "exclamation",
+ "problem",
+ "red",
+ "sage-icon-warning",
+ "sign",
+ "warning"
+ ]
+ },
+ {
+ "name": "website-filled",
+ "category": "navigation",
+ "tags": [
+ "apple",
+ "computer",
+ "desktop",
+ "device",
+ "display",
+ "imac",
+ "mac",
+ "monitor",
+ "nav",
+ "navigation",
+ "pc",
+ "personal",
+ "screen",
+ "tech",
+ "technology",
+ "workstation"
+ ]
+ },
+ {
+ "name": "website-outline",
+ "category": "navigation",
+ "tags": [
+ "apple",
+ "computer",
+ "desktop",
+ "device",
+ "display",
+ "imac",
+ "mac",
+ "monitor",
+ "nav",
+ "navigation",
+ "pc",
+ "personal",
+ "screen",
+ "tech",
+ "technology",
+ "workstation"
+ ]
+ },
+ {
+ "name": "window-paragraph",
+ "category": "site-settings",
+ "tags": [
+ "",
+ "app",
+ "boxes",
+ "browser",
+ "content",
+ "description",
+ "design",
+ "development",
+ "document",
+ "grid",
+ "header",
+ "image",
+ "internet",
+ "layout",
+ "list",
+ "masonry",
+ "mockup",
+ "page",
+ "paragraph",
+ "photo",
+ "picture",
+ "sidebar",
+ "site",
+ "tab",
+ "table",
+ "text",
+ "tile",
+ "view",
+ "web",
+ "webpage",
+ "website",
+ "wireframe"
+ ]
+ },
+ {
+ "name": "world",
+ "category": "site-settings",
+ "tags": [
+ "browser",
+ "business",
+ "earth",
+ "education",
+ "energy",
+ "environment",
+ "finance",
+ "global",
+ "globe",
+ "internet",
+ "language",
+ "language",
+ "map",
+ "school",
+ "travel",
+ "web",
+ "world"
+ ]
+ },
+ {
+ "name": "youtube",
+ "category": "social",
+ "tags": [
+ "youtube"
+ ]
+ }
+ ]
+}
diff --git a/src/index-template.html b/src/index-template.html
new file mode 100644
index 0000000..e8cff77
--- /dev/null
+++ b/src/index-template.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+ Stencil Component Starter
+
+
+
+
+
+ Pine Icons
+
+ Changelogs
+
+
+ {{changelogs}}
+
+ Examples
+ Default
+
+
+
+ Default Sizes
+
+
+
+
+
+ Custom size
+
+
+ Color
+
+
+ Accessibility / Aria
+
+
+
+
+
diff --git a/src/index.html b/src/index.html
new file mode 100644
index 0000000..2ac6eab
--- /dev/null
+++ b/src/index.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+ Stencil Component Starter
+
+
+
+
+
+ Pine Icons
+
+ Changelogs
+
+
+ 2023-10-03-changelog.html
+
+ Examples
+ Default
+
+
+
+ Default Sizes
+
+
+
+
+
+ Custom size
+
+
+ Color
+
+
+ Accessibility / Aria
+
+
+
+
+
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 0000000..468d886
--- /dev/null
+++ b/src/index.ts
@@ -0,0 +1,2 @@
+export { addIcons } from './components/pds-icon/utils';
+export type { Components, JSX } from './components';
diff --git a/src/svg/access-key.svg b/src/svg/access-key.svg
new file mode 100644
index 0000000..d467399
--- /dev/null
+++ b/src/svg/access-key.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/add-circle.svg b/src/svg/add-circle.svg
new file mode 100644
index 0000000..1831840
--- /dev/null
+++ b/src/svg/add-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/add-image.svg b/src/svg/add-image.svg
new file mode 100644
index 0000000..3a69f0f
--- /dev/null
+++ b/src/svg/add-image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/add-small.svg b/src/svg/add-small.svg
new file mode 100644
index 0000000..2e07417
--- /dev/null
+++ b/src/svg/add-small.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/add.svg b/src/svg/add.svg
new file mode 100644
index 0000000..9282723
--- /dev/null
+++ b/src/svg/add.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/ai-sparkle.svg b/src/svg/ai-sparkle.svg
new file mode 100644
index 0000000..51018ea
--- /dev/null
+++ b/src/svg/ai-sparkle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/ai-writer-filled.svg b/src/svg/ai-writer-filled.svg
new file mode 100644
index 0000000..f06d916
--- /dev/null
+++ b/src/svg/ai-writer-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/ai-writer.svg b/src/svg/ai-writer.svg
new file mode 100644
index 0000000..3ffd31c
--- /dev/null
+++ b/src/svg/ai-writer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/align-center.svg b/src/svg/align-center.svg
new file mode 100644
index 0000000..116406e
--- /dev/null
+++ b/src/svg/align-center.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/align-justify.svg b/src/svg/align-justify.svg
new file mode 100644
index 0000000..869c22c
--- /dev/null
+++ b/src/svg/align-justify.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/align-left.svg b/src/svg/align-left.svg
new file mode 100644
index 0000000..b8d0d37
--- /dev/null
+++ b/src/svg/align-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/align-right.svg b/src/svg/align-right.svg
new file mode 100644
index 0000000..bf962e1
--- /dev/null
+++ b/src/svg/align-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/analytics-filled.svg b/src/svg/analytics-filled.svg
new file mode 100644
index 0000000..5d29bdb
--- /dev/null
+++ b/src/svg/analytics-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/analytics-outline.svg b/src/svg/analytics-outline.svg
new file mode 100644
index 0000000..1856b27
--- /dev/null
+++ b/src/svg/analytics-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/app-store.svg b/src/svg/app-store.svg
new file mode 100644
index 0000000..2258191
--- /dev/null
+++ b/src/svg/app-store.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/archive.svg b/src/svg/archive.svg
new file mode 100644
index 0000000..a01ebc5
--- /dev/null
+++ b/src/svg/archive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/arrow-corner.svg b/src/svg/arrow-corner.svg
new file mode 100644
index 0000000..bf98380
--- /dev/null
+++ b/src/svg/arrow-corner.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/arrow-down.svg b/src/svg/arrow-down.svg
new file mode 100644
index 0000000..f5ec38c
--- /dev/null
+++ b/src/svg/arrow-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/arrow-left.svg b/src/svg/arrow-left.svg
new file mode 100644
index 0000000..dbf3cf4
--- /dev/null
+++ b/src/svg/arrow-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/arrow-right.svg b/src/svg/arrow-right.svg
new file mode 100644
index 0000000..226ff14
--- /dev/null
+++ b/src/svg/arrow-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/arrow-up.svg b/src/svg/arrow-up.svg
new file mode 100644
index 0000000..7ef4bdf
--- /dev/null
+++ b/src/svg/arrow-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/assessment.svg b/src/svg/assessment.svg
new file mode 100644
index 0000000..4742784
--- /dev/null
+++ b/src/svg/assessment.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/at-sign.svg b/src/svg/at-sign.svg
new file mode 100644
index 0000000..d577374
--- /dev/null
+++ b/src/svg/at-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/attach.svg b/src/svg/attach.svg
new file mode 100644
index 0000000..09245cb
--- /dev/null
+++ b/src/svg/attach.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/automations.svg b/src/svg/automations.svg
new file mode 100644
index 0000000..9f4bc7d
--- /dev/null
+++ b/src/svg/automations.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/ban.svg b/src/svg/ban.svg
new file mode 100644
index 0000000..5bcde43
--- /dev/null
+++ b/src/svg/ban.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/bank.svg b/src/svg/bank.svg
new file mode 100644
index 0000000..5dab18b
--- /dev/null
+++ b/src/svg/bank.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/bell.svg b/src/svg/bell.svg
new file mode 100644
index 0000000..da79898
--- /dev/null
+++ b/src/svg/bell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/blog.svg b/src/svg/blog.svg
new file mode 100644
index 0000000..1087408
--- /dev/null
+++ b/src/svg/blog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/bold.svg b/src/svg/bold.svg
new file mode 100644
index 0000000..82fc1a0
--- /dev/null
+++ b/src/svg/bold.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/broadcast.svg b/src/svg/broadcast.svg
new file mode 100644
index 0000000..11a3209
--- /dev/null
+++ b/src/svg/broadcast.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/calendar-date.svg b/src/svg/calendar-date.svg
new file mode 100644
index 0000000..97443ef
--- /dev/null
+++ b/src/svg/calendar-date.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/calendar-schedule.svg b/src/svg/calendar-schedule.svg
new file mode 100644
index 0000000..f08d970
--- /dev/null
+++ b/src/svg/calendar-schedule.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/calendar-simple.svg b/src/svg/calendar-simple.svg
new file mode 100644
index 0000000..18ac4b3
--- /dev/null
+++ b/src/svg/calendar-simple.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-amex.svg b/src/svg/card-bw-amex.svg
new file mode 100644
index 0000000..703baf2
--- /dev/null
+++ b/src/svg/card-bw-amex.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-apple-card.svg b/src/svg/card-bw-apple-card.svg
new file mode 100644
index 0000000..4acdf09
--- /dev/null
+++ b/src/svg/card-bw-apple-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-diners-club.svg b/src/svg/card-bw-diners-club.svg
new file mode 100644
index 0000000..374f60e
--- /dev/null
+++ b/src/svg/card-bw-diners-club.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-discover.svg b/src/svg/card-bw-discover.svg
new file mode 100644
index 0000000..c57971d
--- /dev/null
+++ b/src/svg/card-bw-discover.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-gpay-card.svg b/src/svg/card-bw-gpay-card.svg
new file mode 100644
index 0000000..98fb3da
--- /dev/null
+++ b/src/svg/card-bw-gpay-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-mastercard.svg b/src/svg/card-bw-mastercard.svg
new file mode 100644
index 0000000..d8105a5
--- /dev/null
+++ b/src/svg/card-bw-mastercard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-paypal.svg b/src/svg/card-bw-paypal.svg
new file mode 100644
index 0000000..8ea7c94
--- /dev/null
+++ b/src/svg/card-bw-paypal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-stripe.svg b/src/svg/card-bw-stripe.svg
new file mode 100644
index 0000000..682a69a
--- /dev/null
+++ b/src/svg/card-bw-stripe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-bw-visa.svg b/src/svg/card-bw-visa.svg
new file mode 100644
index 0000000..d922d2c
--- /dev/null
+++ b/src/svg/card-bw-visa.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/card-update.svg b/src/svg/card-update.svg
new file mode 100644
index 0000000..bff1278
--- /dev/null
+++ b/src/svg/card-update.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/caret-down.svg b/src/svg/caret-down.svg
new file mode 100644
index 0000000..2259dce
--- /dev/null
+++ b/src/svg/caret-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/caret-left.svg b/src/svg/caret-left.svg
new file mode 100644
index 0000000..2a5adad
--- /dev/null
+++ b/src/svg/caret-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/caret-right.svg b/src/svg/caret-right.svg
new file mode 100644
index 0000000..96b33e1
--- /dev/null
+++ b/src/svg/caret-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/caret-up.svg b/src/svg/caret-up.svg
new file mode 100644
index 0000000..8a1d0d3
--- /dev/null
+++ b/src/svg/caret-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/cart-add.svg b/src/svg/cart-add.svg
new file mode 100644
index 0000000..550b5c8
--- /dev/null
+++ b/src/svg/cart-add.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/cart.svg b/src/svg/cart.svg
new file mode 100644
index 0000000..fb18374
--- /dev/null
+++ b/src/svg/cart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/certificate.svg b/src/svg/certificate.svg
new file mode 100644
index 0000000..26c7c02
--- /dev/null
+++ b/src/svg/certificate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/check-circle-filled.svg b/src/svg/check-circle-filled.svg
new file mode 100644
index 0000000..83e354c
--- /dev/null
+++ b/src/svg/check-circle-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/check-circle.svg b/src/svg/check-circle.svg
new file mode 100644
index 0000000..4e2ccc7
--- /dev/null
+++ b/src/svg/check-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/check.svg b/src/svg/check.svg
new file mode 100644
index 0000000..7808dff
--- /dev/null
+++ b/src/svg/check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-1.svg b/src/svg/circle-1.svg
new file mode 100644
index 0000000..d924c05
--- /dev/null
+++ b/src/svg/circle-1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-2.svg b/src/svg/circle-2.svg
new file mode 100644
index 0000000..dc5ceda
--- /dev/null
+++ b/src/svg/circle-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-3.svg b/src/svg/circle-3.svg
new file mode 100644
index 0000000..437d147
--- /dev/null
+++ b/src/svg/circle-3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-4.svg b/src/svg/circle-4.svg
new file mode 100644
index 0000000..26b4b75
--- /dev/null
+++ b/src/svg/circle-4.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-5.svg b/src/svg/circle-5.svg
new file mode 100644
index 0000000..5cc6d3d
--- /dev/null
+++ b/src/svg/circle-5.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-6.svg b/src/svg/circle-6.svg
new file mode 100644
index 0000000..68fce47
--- /dev/null
+++ b/src/svg/circle-6.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-7.svg b/src/svg/circle-7.svg
new file mode 100644
index 0000000..865c34e
--- /dev/null
+++ b/src/svg/circle-7.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-8.svg b/src/svg/circle-8.svg
new file mode 100644
index 0000000..8649c66
--- /dev/null
+++ b/src/svg/circle-8.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/circle-9.svg b/src/svg/circle-9.svg
new file mode 100644
index 0000000..73a1ea2
--- /dev/null
+++ b/src/svg/circle-9.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/clock.svg b/src/svg/clock.svg
new file mode 100644
index 0000000..5d0dd1e
--- /dev/null
+++ b/src/svg/clock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/closed-captions.svg b/src/svg/closed-captions.svg
new file mode 100644
index 0000000..5e560d6
--- /dev/null
+++ b/src/svg/closed-captions.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/code.svg b/src/svg/code.svg
new file mode 100644
index 0000000..7e9256a
--- /dev/null
+++ b/src/svg/code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/color.svg b/src/svg/color.svg
new file mode 100644
index 0000000..211a090
--- /dev/null
+++ b/src/svg/color.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/columns.svg b/src/svg/columns.svg
new file mode 100644
index 0000000..2844dc3
--- /dev/null
+++ b/src/svg/columns.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/comment.svg b/src/svg/comment.svg
new file mode 100644
index 0000000..7140e24
--- /dev/null
+++ b/src/svg/comment.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/connect.svg b/src/svg/connect.svg
new file mode 100644
index 0000000..0fdccd2
--- /dev/null
+++ b/src/svg/connect.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/contact.svg b/src/svg/contact.svg
new file mode 100644
index 0000000..fc23e35
--- /dev/null
+++ b/src/svg/contact.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/contacts-filled.svg b/src/svg/contacts-filled.svg
new file mode 100644
index 0000000..2844a34
--- /dev/null
+++ b/src/svg/contacts-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/contacts-outline.svg b/src/svg/contacts-outline.svg
new file mode 100644
index 0000000..24cff86
--- /dev/null
+++ b/src/svg/contacts-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/conversation.svg b/src/svg/conversation.svg
new file mode 100644
index 0000000..80667c1
--- /dev/null
+++ b/src/svg/conversation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/copy.svg b/src/svg/copy.svg
new file mode 100644
index 0000000..2bb6434
--- /dev/null
+++ b/src/svg/copy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/coupon.svg b/src/svg/coupon.svg
new file mode 100644
index 0000000..ee98c8a
--- /dev/null
+++ b/src/svg/coupon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/course.svg b/src/svg/course.svg
new file mode 100644
index 0000000..e8fcf99
--- /dev/null
+++ b/src/svg/course.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/creator-studio-filled.svg b/src/svg/creator-studio-filled.svg
new file mode 100644
index 0000000..88a90cd
--- /dev/null
+++ b/src/svg/creator-studio-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/creator-studio.svg b/src/svg/creator-studio.svg
new file mode 100644
index 0000000..738c347
--- /dev/null
+++ b/src/svg/creator-studio.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/credit-card.svg b/src/svg/credit-card.svg
new file mode 100644
index 0000000..f9e1c05
--- /dev/null
+++ b/src/svg/credit-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/custom-field.svg b/src/svg/custom-field.svg
new file mode 100644
index 0000000..4c8fcb2
--- /dev/null
+++ b/src/svg/custom-field.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/customize.svg b/src/svg/customize.svg
new file mode 100644
index 0000000..35cff78
--- /dev/null
+++ b/src/svg/customize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/danger-filled.svg b/src/svg/danger-filled.svg
new file mode 100644
index 0000000..7afa4f4
--- /dev/null
+++ b/src/svg/danger-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/danger.svg b/src/svg/danger.svg
new file mode 100644
index 0000000..351867f
--- /dev/null
+++ b/src/svg/danger.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/dashboard-filled.svg b/src/svg/dashboard-filled.svg
new file mode 100644
index 0000000..098cd55
--- /dev/null
+++ b/src/svg/dashboard-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/dashboard-outline.svg b/src/svg/dashboard-outline.svg
new file mode 100644
index 0000000..8f1cf6e
--- /dev/null
+++ b/src/svg/dashboard-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/delete-circle.svg b/src/svg/delete-circle.svg
new file mode 100644
index 0000000..2c6451b
--- /dev/null
+++ b/src/svg/delete-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/delete-key.svg b/src/svg/delete-key.svg
new file mode 100644
index 0000000..dae9fb6
--- /dev/null
+++ b/src/svg/delete-key.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/delete-x.svg b/src/svg/delete-x.svg
new file mode 100644
index 0000000..3b67b99
--- /dev/null
+++ b/src/svg/delete-x.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/dollar-sign.svg b/src/svg/dollar-sign.svg
new file mode 100644
index 0000000..6ccaf17
--- /dev/null
+++ b/src/svg/dollar-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/dot-menu-horizontal.svg b/src/svg/dot-menu-horizontal.svg
new file mode 100644
index 0000000..f93bbf5
--- /dev/null
+++ b/src/svg/dot-menu-horizontal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/down-small.svg b/src/svg/down-small.svg
new file mode 100644
index 0000000..c44db03
--- /dev/null
+++ b/src/svg/down-small.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/download.svg b/src/svg/download.svg
new file mode 100644
index 0000000..2bc3076
--- /dev/null
+++ b/src/svg/download.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/downsell.svg b/src/svg/downsell.svg
new file mode 100644
index 0000000..6e95cce
--- /dev/null
+++ b/src/svg/downsell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/draft.svg b/src/svg/draft.svg
new file mode 100644
index 0000000..5ef8e18
--- /dev/null
+++ b/src/svg/draft.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/drop.svg b/src/svg/drop.svg
new file mode 100644
index 0000000..30fba00
--- /dev/null
+++ b/src/svg/drop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/duplicate.svg b/src/svg/duplicate.svg
new file mode 100644
index 0000000..b287bad
--- /dev/null
+++ b/src/svg/duplicate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/email-activity.svg b/src/svg/email-activity.svg
new file mode 100644
index 0000000..3d19146
--- /dev/null
+++ b/src/svg/email-activity.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/emoji.svg b/src/svg/emoji.svg
new file mode 100644
index 0000000..55e568b
--- /dev/null
+++ b/src/svg/emoji.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/enlarge-vertical.svg b/src/svg/enlarge-vertical.svg
new file mode 100644
index 0000000..54b31be
--- /dev/null
+++ b/src/svg/enlarge-vertical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/enlarge.svg b/src/svg/enlarge.svg
new file mode 100644
index 0000000..41f451c
--- /dev/null
+++ b/src/svg/enlarge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/expand.svg b/src/svg/expand.svg
new file mode 100644
index 0000000..1a89b99
--- /dev/null
+++ b/src/svg/expand.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/facebook-2.svg b/src/svg/facebook-2.svg
new file mode 100644
index 0000000..9936bca
--- /dev/null
+++ b/src/svg/facebook-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/facebook.svg b/src/svg/facebook.svg
new file mode 100644
index 0000000..2c7159c
--- /dev/null
+++ b/src/svg/facebook.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/favorite.svg b/src/svg/favorite.svg
new file mode 100644
index 0000000..0847aaf
--- /dev/null
+++ b/src/svg/favorite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/feedback.svg b/src/svg/feedback.svg
new file mode 100644
index 0000000..d68f830
--- /dev/null
+++ b/src/svg/feedback.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/file-money.svg b/src/svg/file-money.svg
new file mode 100644
index 0000000..2838ca9
--- /dev/null
+++ b/src/svg/file-money.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/file.svg b/src/svg/file.svg
new file mode 100644
index 0000000..519ca57
--- /dev/null
+++ b/src/svg/file.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/filter.svg b/src/svg/filter.svg
new file mode 100644
index 0000000..589689c
--- /dev/null
+++ b/src/svg/filter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/flag.svg b/src/svg/flag.svg
new file mode 100644
index 0000000..d33590d
--- /dev/null
+++ b/src/svg/flag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/folder-group.svg b/src/svg/folder-group.svg
new file mode 100644
index 0000000..b054bc7
--- /dev/null
+++ b/src/svg/folder-group.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/folder.svg b/src/svg/folder.svg
new file mode 100644
index 0000000..61aa189
--- /dev/null
+++ b/src/svg/folder.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/form-field.svg b/src/svg/form-field.svg
new file mode 100644
index 0000000..b1cc304
--- /dev/null
+++ b/src/svg/form-field.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/form.svg b/src/svg/form.svg
new file mode 100644
index 0000000..ddf4952
--- /dev/null
+++ b/src/svg/form.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/fullscreen.svg b/src/svg/fullscreen.svg
new file mode 100644
index 0000000..6777e87
--- /dev/null
+++ b/src/svg/fullscreen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/funnel.svg b/src/svg/funnel.svg
new file mode 100644
index 0000000..e6a8e36
--- /dev/null
+++ b/src/svg/funnel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/grant-offer.svg b/src/svg/grant-offer.svg
new file mode 100644
index 0000000..900550a
--- /dev/null
+++ b/src/svg/grant-offer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/handle-2-vertical.svg b/src/svg/handle-2-vertical.svg
new file mode 100644
index 0000000..5b4360f
--- /dev/null
+++ b/src/svg/handle-2-vertical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/handle-2.svg b/src/svg/handle-2.svg
new file mode 100644
index 0000000..9b685c8
--- /dev/null
+++ b/src/svg/handle-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/handle.svg b/src/svg/handle.svg
new file mode 100644
index 0000000..33fbbce
--- /dev/null
+++ b/src/svg/handle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/hashtag.svg b/src/svg/hashtag.svg
new file mode 100644
index 0000000..681b284
--- /dev/null
+++ b/src/svg/hashtag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/heading-large.svg b/src/svg/heading-large.svg
new file mode 100644
index 0000000..e21420d
--- /dev/null
+++ b/src/svg/heading-large.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/heading-small.svg b/src/svg/heading-small.svg
new file mode 100644
index 0000000..7e04f4c
--- /dev/null
+++ b/src/svg/heading-small.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/headset.svg b/src/svg/headset.svg
new file mode 100644
index 0000000..bda6f25
--- /dev/null
+++ b/src/svg/headset.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/help-filled.svg b/src/svg/help-filled.svg
new file mode 100644
index 0000000..9b5de14
--- /dev/null
+++ b/src/svg/help-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/help-outline.svg b/src/svg/help-outline.svg
new file mode 100644
index 0000000..6736695
--- /dev/null
+++ b/src/svg/help-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/home-alt.svg b/src/svg/home-alt.svg
new file mode 100644
index 0000000..be6aca4
--- /dev/null
+++ b/src/svg/home-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/horizontal-line.svg b/src/svg/horizontal-line.svg
new file mode 100644
index 0000000..7654156
--- /dev/null
+++ b/src/svg/horizontal-line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/image.svg b/src/svg/image.svg
new file mode 100644
index 0000000..fc6a64b
--- /dev/null
+++ b/src/svg/image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/info-circle-filled.svg b/src/svg/info-circle-filled.svg
new file mode 100644
index 0000000..1430c82
--- /dev/null
+++ b/src/svg/info-circle-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/info-circle.svg b/src/svg/info-circle.svg
new file mode 100644
index 0000000..013c2a8
--- /dev/null
+++ b/src/svg/info-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/instagram.svg b/src/svg/instagram.svg
new file mode 100644
index 0000000..98e095e
--- /dev/null
+++ b/src/svg/instagram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/ios-battery.svg b/src/svg/ios-battery.svg
new file mode 100644
index 0000000..21d6309
--- /dev/null
+++ b/src/svg/ios-battery.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/ios-data.svg b/src/svg/ios-data.svg
new file mode 100644
index 0000000..ace98d0
--- /dev/null
+++ b/src/svg/ios-data.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/ios-wifi.svg b/src/svg/ios-wifi.svg
new file mode 100644
index 0000000..d79c5e1
--- /dev/null
+++ b/src/svg/ios-wifi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/italic.svg b/src/svg/italic.svg
new file mode 100644
index 0000000..d6643b0
--- /dev/null
+++ b/src/svg/italic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/kajabi-filled.svg b/src/svg/kajabi-filled.svg
new file mode 100644
index 0000000..bc3c56a
--- /dev/null
+++ b/src/svg/kajabi-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/kajabi-outlined.svg b/src/svg/kajabi-outlined.svg
new file mode 100644
index 0000000..1c12428
--- /dev/null
+++ b/src/svg/kajabi-outlined.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/lab.svg b/src/svg/lab.svg
new file mode 100644
index 0000000..27aeb5c
--- /dev/null
+++ b/src/svg/lab.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/launch.svg b/src/svg/launch.svg
new file mode 100644
index 0000000..b9b3815
--- /dev/null
+++ b/src/svg/launch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/layout-grid.svg b/src/svg/layout-grid.svg
new file mode 100644
index 0000000..c777483
--- /dev/null
+++ b/src/svg/layout-grid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/layout-list.svg b/src/svg/layout-list.svg
new file mode 100644
index 0000000..9eddd36
--- /dev/null
+++ b/src/svg/layout-list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/left-small.svg b/src/svg/left-small.svg
new file mode 100644
index 0000000..d00d161
--- /dev/null
+++ b/src/svg/left-small.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/linkedin.svg b/src/svg/linkedin.svg
new file mode 100644
index 0000000..bbd660c
--- /dev/null
+++ b/src/svg/linkedin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/list-bullet.svg b/src/svg/list-bullet.svg
new file mode 100644
index 0000000..163267e
--- /dev/null
+++ b/src/svg/list-bullet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/list-numbers.svg b/src/svg/list-numbers.svg
new file mode 100644
index 0000000..0824e0f
--- /dev/null
+++ b/src/svg/list-numbers.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/location.svg b/src/svg/location.svg
new file mode 100644
index 0000000..63a84c5
--- /dev/null
+++ b/src/svg/location.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/lock-alt.svg b/src/svg/lock-alt.svg
new file mode 100644
index 0000000..b330648
--- /dev/null
+++ b/src/svg/lock-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/lock.svg b/src/svg/lock.svg
new file mode 100644
index 0000000..fc189dd
--- /dev/null
+++ b/src/svg/lock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/logo-afterpay.svg b/src/svg/logo-afterpay.svg
new file mode 100644
index 0000000..fe03ea4
--- /dev/null
+++ b/src/svg/logo-afterpay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/loop.svg b/src/svg/loop.svg
new file mode 100644
index 0000000..edc069b
--- /dev/null
+++ b/src/svg/loop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/mail.svg b/src/svg/mail.svg
new file mode 100644
index 0000000..43ee148
--- /dev/null
+++ b/src/svg/mail.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/mapped.svg b/src/svg/mapped.svg
new file mode 100644
index 0000000..b74cf4e
--- /dev/null
+++ b/src/svg/mapped.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/margin-left.svg b/src/svg/margin-left.svg
new file mode 100644
index 0000000..5719b6a
--- /dev/null
+++ b/src/svg/margin-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/margin-right.svg b/src/svg/margin-right.svg
new file mode 100644
index 0000000..5b7cf08
--- /dev/null
+++ b/src/svg/margin-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/marker-filled.svg b/src/svg/marker-filled.svg
new file mode 100644
index 0000000..5afc717
--- /dev/null
+++ b/src/svg/marker-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/marker.svg b/src/svg/marker.svg
new file mode 100644
index 0000000..7688ba3
--- /dev/null
+++ b/src/svg/marker.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/marketing-filled.svg b/src/svg/marketing-filled.svg
new file mode 100644
index 0000000..255e82a
--- /dev/null
+++ b/src/svg/marketing-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/marketing-outline.svg b/src/svg/marketing-outline.svg
new file mode 100644
index 0000000..2508e94
--- /dev/null
+++ b/src/svg/marketing-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/menu-2.svg b/src/svg/menu-2.svg
new file mode 100644
index 0000000..b3dbdb0
--- /dev/null
+++ b/src/svg/menu-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/menu-alt.svg b/src/svg/menu-alt.svg
new file mode 100644
index 0000000..fca9040
--- /dev/null
+++ b/src/svg/menu-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/menu.svg b/src/svg/menu.svg
new file mode 100644
index 0000000..c292400
--- /dev/null
+++ b/src/svg/menu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/merge.svg b/src/svg/merge.svg
new file mode 100644
index 0000000..6384b0b
--- /dev/null
+++ b/src/svg/merge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/microphone-off.svg b/src/svg/microphone-off.svg
new file mode 100644
index 0000000..c901106
--- /dev/null
+++ b/src/svg/microphone-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/microphone.svg b/src/svg/microphone.svg
new file mode 100644
index 0000000..7716978
--- /dev/null
+++ b/src/svg/microphone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/move-left.svg b/src/svg/move-left.svg
new file mode 100644
index 0000000..47570ab
--- /dev/null
+++ b/src/svg/move-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/move-right.svg b/src/svg/move-right.svg
new file mode 100644
index 0000000..f12ff5b
--- /dev/null
+++ b/src/svg/move-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/multi-pay.svg b/src/svg/multi-pay.svg
new file mode 100644
index 0000000..8a83495
--- /dev/null
+++ b/src/svg/multi-pay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/newsletter.svg b/src/svg/newsletter.svg
new file mode 100644
index 0000000..2ab0a2a
--- /dev/null
+++ b/src/svg/newsletter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/one-off-session.svg b/src/svg/one-off-session.svg
new file mode 100644
index 0000000..832f9d1
--- /dev/null
+++ b/src/svg/one-off-session.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/one-time.svg b/src/svg/one-time.svg
new file mode 100644
index 0000000..0adfd08
--- /dev/null
+++ b/src/svg/one-time.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/partners-filled.svg b/src/svg/partners-filled.svg
new file mode 100644
index 0000000..2ff2fac
--- /dev/null
+++ b/src/svg/partners-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/partners-outline.svg b/src/svg/partners-outline.svg
new file mode 100644
index 0000000..d608f72
--- /dev/null
+++ b/src/svg/partners-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/pause-circle.svg b/src/svg/pause-circle.svg
new file mode 100644
index 0000000..acf5ec7
--- /dev/null
+++ b/src/svg/pause-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/pause.svg b/src/svg/pause.svg
new file mode 100644
index 0000000..6f73d6e
--- /dev/null
+++ b/src/svg/pause.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/payout.svg b/src/svg/payout.svg
new file mode 100644
index 0000000..5b9b0a9
--- /dev/null
+++ b/src/svg/payout.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/pen.svg b/src/svg/pen.svg
new file mode 100644
index 0000000..1fa5683
--- /dev/null
+++ b/src/svg/pen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/phone-portrait.svg b/src/svg/phone-portrait.svg
new file mode 100644
index 0000000..f804db4
--- /dev/null
+++ b/src/svg/phone-portrait.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/phone-toolbar.svg b/src/svg/phone-toolbar.svg
new file mode 100644
index 0000000..d8e07ff
--- /dev/null
+++ b/src/svg/phone-toolbar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/play-circle.svg b/src/svg/play-circle.svg
new file mode 100644
index 0000000..3c49a80
--- /dev/null
+++ b/src/svg/play-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/play-outline.svg b/src/svg/play-outline.svg
new file mode 100644
index 0000000..af82d30
--- /dev/null
+++ b/src/svg/play-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/play-store.svg b/src/svg/play-store.svg
new file mode 100644
index 0000000..dd2b43b
--- /dev/null
+++ b/src/svg/play-store.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/play.svg b/src/svg/play.svg
new file mode 100644
index 0000000..79e8841
--- /dev/null
+++ b/src/svg/play.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/plug.svg b/src/svg/plug.svg
new file mode 100644
index 0000000..4e72b81
--- /dev/null
+++ b/src/svg/plug.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/present.svg b/src/svg/present.svg
new file mode 100644
index 0000000..218b7df
--- /dev/null
+++ b/src/svg/present.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/preview-off.svg b/src/svg/preview-off.svg
new file mode 100644
index 0000000..d6440bd
--- /dev/null
+++ b/src/svg/preview-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/preview-on.svg b/src/svg/preview-on.svg
new file mode 100644
index 0000000..776c487
--- /dev/null
+++ b/src/svg/preview-on.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/products-filled.svg b/src/svg/products-filled.svg
new file mode 100644
index 0000000..81148f2
--- /dev/null
+++ b/src/svg/products-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/products-outline.svg b/src/svg/products-outline.svg
new file mode 100644
index 0000000..2709764
--- /dev/null
+++ b/src/svg/products-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/question-circle.svg b/src/svg/question-circle.svg
new file mode 100644
index 0000000..4f0a8da
--- /dev/null
+++ b/src/svg/question-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/quote.svg b/src/svg/quote.svg
new file mode 100644
index 0000000..3accdf8
--- /dev/null
+++ b/src/svg/quote.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/redo.svg b/src/svg/redo.svg
new file mode 100644
index 0000000..f4a512e
--- /dev/null
+++ b/src/svg/redo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/refresh.svg b/src/svg/refresh.svg
new file mode 100644
index 0000000..940e1e9
--- /dev/null
+++ b/src/svg/refresh.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/remove-circle.svg b/src/svg/remove-circle.svg
new file mode 100644
index 0000000..b38e58c
--- /dev/null
+++ b/src/svg/remove-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/remove.svg b/src/svg/remove.svg
new file mode 100644
index 0000000..105445b
--- /dev/null
+++ b/src/svg/remove.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/rename.svg b/src/svg/rename.svg
new file mode 100644
index 0000000..190129a
--- /dev/null
+++ b/src/svg/rename.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/reset-password.svg b/src/svg/reset-password.svg
new file mode 100644
index 0000000..9dc9299
--- /dev/null
+++ b/src/svg/reset-password.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/restore.svg b/src/svg/restore.svg
new file mode 100644
index 0000000..20dd80d
--- /dev/null
+++ b/src/svg/restore.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/right-small.svg b/src/svg/right-small.svg
new file mode 100644
index 0000000..67a8792
--- /dev/null
+++ b/src/svg/right-small.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/round-dollar.svg b/src/svg/round-dollar.svg
new file mode 100644
index 0000000..13984a2
--- /dev/null
+++ b/src/svg/round-dollar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/rows.svg b/src/svg/rows.svg
new file mode 100644
index 0000000..4b6fd88
--- /dev/null
+++ b/src/svg/rows.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/sales-filled.svg b/src/svg/sales-filled.svg
new file mode 100644
index 0000000..4177f3b
--- /dev/null
+++ b/src/svg/sales-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/sales-outline.svg b/src/svg/sales-outline.svg
new file mode 100644
index 0000000..6a8bc5b
--- /dev/null
+++ b/src/svg/sales-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/scissor.svg b/src/svg/scissor.svg
new file mode 100644
index 0000000..6fb3599
--- /dev/null
+++ b/src/svg/scissor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/screen-share-off.svg b/src/svg/screen-share-off.svg
new file mode 100644
index 0000000..6ce9b9f
--- /dev/null
+++ b/src/svg/screen-share-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/screen-share-on.svg b/src/svg/screen-share-on.svg
new file mode 100644
index 0000000..9e4766a
--- /dev/null
+++ b/src/svg/screen-share-on.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/search-small.svg b/src/svg/search-small.svg
new file mode 100644
index 0000000..4582a84
--- /dev/null
+++ b/src/svg/search-small.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/search.svg b/src/svg/search.svg
new file mode 100644
index 0000000..72a24df
--- /dev/null
+++ b/src/svg/search.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/send-message.svg b/src/svg/send-message.svg
new file mode 100644
index 0000000..08f4acc
--- /dev/null
+++ b/src/svg/send-message.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/sequences.svg b/src/svg/sequences.svg
new file mode 100644
index 0000000..cc02aad
--- /dev/null
+++ b/src/svg/sequences.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/series.svg b/src/svg/series.svg
new file mode 100644
index 0000000..16861d1
--- /dev/null
+++ b/src/svg/series.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/settings-filled.svg b/src/svg/settings-filled.svg
new file mode 100644
index 0000000..0152e11
--- /dev/null
+++ b/src/svg/settings-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/settings-outline.svg b/src/svg/settings-outline.svg
new file mode 100644
index 0000000..32c4b95
--- /dev/null
+++ b/src/svg/settings-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/share.svg b/src/svg/share.svg
new file mode 100644
index 0000000..b6930cc
--- /dev/null
+++ b/src/svg/share.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/skipped.svg b/src/svg/skipped.svg
new file mode 100644
index 0000000..707cf9d
--- /dev/null
+++ b/src/svg/skipped.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/slash-divider.svg b/src/svg/slash-divider.svg
new file mode 100644
index 0000000..f8ff43e
--- /dev/null
+++ b/src/svg/slash-divider.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/sparkle-filled.svg b/src/svg/sparkle-filled.svg
new file mode 100644
index 0000000..199f874
--- /dev/null
+++ b/src/svg/sparkle-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/sparkle.svg b/src/svg/sparkle.svg
new file mode 100644
index 0000000..eba126b
--- /dev/null
+++ b/src/svg/sparkle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/speaker.svg b/src/svg/speaker.svg
new file mode 100644
index 0000000..d1e8728
--- /dev/null
+++ b/src/svg/speaker.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/stack.svg b/src/svg/stack.svg
new file mode 100644
index 0000000..cdc7307
--- /dev/null
+++ b/src/svg/stack.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/star.svg b/src/svg/star.svg
new file mode 100644
index 0000000..f8c65f7
--- /dev/null
+++ b/src/svg/star.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/stop.svg b/src/svg/stop.svg
new file mode 100644
index 0000000..97c33e0
--- /dev/null
+++ b/src/svg/stop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/stopwatch.svg b/src/svg/stopwatch.svg
new file mode 100644
index 0000000..2b37138
--- /dev/null
+++ b/src/svg/stopwatch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/strikethrough.svg b/src/svg/strikethrough.svg
new file mode 100644
index 0000000..bf73c24
--- /dev/null
+++ b/src/svg/strikethrough.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/subscript.svg b/src/svg/subscript.svg
new file mode 100644
index 0000000..fc4c02b
--- /dev/null
+++ b/src/svg/subscript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/subscriptions.svg b/src/svg/subscriptions.svg
new file mode 100644
index 0000000..4dbc48a
--- /dev/null
+++ b/src/svg/subscriptions.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/super-admin.svg b/src/svg/super-admin.svg
new file mode 100644
index 0000000..fbb7294
--- /dev/null
+++ b/src/svg/super-admin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/superscript.svg b/src/svg/superscript.svg
new file mode 100644
index 0000000..0f2fc46
--- /dev/null
+++ b/src/svg/superscript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/sync.svg b/src/svg/sync.svg
new file mode 100644
index 0000000..0f9616e
--- /dev/null
+++ b/src/svg/sync.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/tablet-landscape.svg b/src/svg/tablet-landscape.svg
new file mode 100644
index 0000000..543a748
--- /dev/null
+++ b/src/svg/tablet-landscape.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/tablet-portrait.svg b/src/svg/tablet-portrait.svg
new file mode 100644
index 0000000..42ef138
--- /dev/null
+++ b/src/svg/tablet-portrait.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/text-styles.svg b/src/svg/text-styles.svg
new file mode 100644
index 0000000..a39eae6
--- /dev/null
+++ b/src/svg/text-styles.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/theme-store.svg b/src/svg/theme-store.svg
new file mode 100644
index 0000000..8a98167
--- /dev/null
+++ b/src/svg/theme-store.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/thumbs-down-filled.svg b/src/svg/thumbs-down-filled.svg
new file mode 100644
index 0000000..ac23f90
--- /dev/null
+++ b/src/svg/thumbs-down-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/thumbs-down.svg b/src/svg/thumbs-down.svg
new file mode 100644
index 0000000..7be6e3f
--- /dev/null
+++ b/src/svg/thumbs-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/thumbs-up-filled.svg b/src/svg/thumbs-up-filled.svg
new file mode 100644
index 0000000..c92fcb4
--- /dev/null
+++ b/src/svg/thumbs-up-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/thumbs-up.svg b/src/svg/thumbs-up.svg
new file mode 100644
index 0000000..43c1888
--- /dev/null
+++ b/src/svg/thumbs-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/tiktok.svg b/src/svg/tiktok.svg
new file mode 100644
index 0000000..005b7dd
--- /dev/null
+++ b/src/svg/tiktok.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/trash.svg b/src/svg/trash.svg
new file mode 100644
index 0000000..f5b18d5
--- /dev/null
+++ b/src/svg/trash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/twitter.svg b/src/svg/twitter.svg
new file mode 100644
index 0000000..7703571
--- /dev/null
+++ b/src/svg/twitter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/underline.svg b/src/svg/underline.svg
new file mode 100644
index 0000000..d4a9a03
--- /dev/null
+++ b/src/svg/underline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/undo.svg b/src/svg/undo.svg
new file mode 100644
index 0000000..897b96c
--- /dev/null
+++ b/src/svg/undo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/unlock.svg b/src/svg/unlock.svg
new file mode 100644
index 0000000..1123206
--- /dev/null
+++ b/src/svg/unlock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/unmapped.svg b/src/svg/unmapped.svg
new file mode 100644
index 0000000..e6e4706
--- /dev/null
+++ b/src/svg/unmapped.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/up-small.svg b/src/svg/up-small.svg
new file mode 100644
index 0000000..866e0db
--- /dev/null
+++ b/src/svg/up-small.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/upload.svg b/src/svg/upload.svg
new file mode 100644
index 0000000..92566cf
--- /dev/null
+++ b/src/svg/upload.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/url.svg b/src/svg/url.svg
new file mode 100644
index 0000000..ff5800b
--- /dev/null
+++ b/src/svg/url.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/user-filled.svg b/src/svg/user-filled.svg
new file mode 100644
index 0000000..d03d96a
--- /dev/null
+++ b/src/svg/user-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/user.svg b/src/svg/user.svg
new file mode 100644
index 0000000..7f85cab
--- /dev/null
+++ b/src/svg/user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/users-wm.svg b/src/svg/users-wm.svg
new file mode 100644
index 0000000..b11b7f0
--- /dev/null
+++ b/src/svg/users-wm.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/users.svg b/src/svg/users.svg
new file mode 100644
index 0000000..acdc586
--- /dev/null
+++ b/src/svg/users.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/video-off.svg b/src/svg/video-off.svg
new file mode 100644
index 0000000..0577569
--- /dev/null
+++ b/src/svg/video-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/video-on.svg b/src/svg/video-on.svg
new file mode 100644
index 0000000..91b060b
--- /dev/null
+++ b/src/svg/video-on.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/warning-filled.svg b/src/svg/warning-filled.svg
new file mode 100644
index 0000000..b58af54
--- /dev/null
+++ b/src/svg/warning-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/warning.svg b/src/svg/warning.svg
new file mode 100644
index 0000000..c3738c7
--- /dev/null
+++ b/src/svg/warning.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/website-filled.svg b/src/svg/website-filled.svg
new file mode 100644
index 0000000..0523c73
--- /dev/null
+++ b/src/svg/website-filled.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/website-outline.svg b/src/svg/website-outline.svg
new file mode 100644
index 0000000..f3660b2
--- /dev/null
+++ b/src/svg/website-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/window-paragraph.svg b/src/svg/window-paragraph.svg
new file mode 100644
index 0000000..26ca051
--- /dev/null
+++ b/src/svg/window-paragraph.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/world.svg b/src/svg/world.svg
new file mode 100644
index 0000000..905b302
--- /dev/null
+++ b/src/svg/world.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/svg/youtube.svg b/src/svg/youtube.svg
new file mode 100644
index 0000000..d291ffd
--- /dev/null
+++ b/src/svg/youtube.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/stencil.config.ts b/stencil.config.ts
new file mode 100644
index 0000000..1080db7
--- /dev/null
+++ b/stencil.config.ts
@@ -0,0 +1,37 @@
+import { Config } from '@stencil/core';
+
+import { sass } from '@stencil/sass';
+
+export const config: Config = {
+ namespace: 'pds-icons',
+ devServer: {
+ openBrowser: false,
+ port: 7200
+ },
+ plugins: [sass()],
+ outputTargets: [
+ {
+ type: 'dist',
+ empty: false,
+ },
+ {
+ type: 'dist-custom-elements',
+ dir: './components'
+ },
+ {
+ type: 'docs-readme',
+ footer: '',
+ },
+ {
+ type: 'www',
+ copy: [
+ { src: '../changelogs', dest: 'changelogs'}
+ ],
+ empty: false,
+ serviceWorker: null, // disable service workers
+ },
+ ],
+ testing: {
+ browserHeadless: "new",
+ },
+};
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..05818ba
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,31 @@
+{
+ "compilerOptions": {
+ "allowSyntheticDefaultImports": true,
+ "allowUnreachableCode": false,
+ "baseUrl": ".",
+ "declaration": false,
+ "experimentalDecorators": true,
+ "jsx": "react",
+ "jsxFactory": "h",
+ "lib": [
+ "dom",
+ "es2017"
+ ],
+ "module": "esnext",
+ "moduleResolution": "node",
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "paths": {
+ "@utils/*": ["src/utils/*"]
+ },
+ "removeComments": false,
+ "target": "es2017",
+ },
+ "include": [
+ "src",
+ "scripts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
+}
diff --git a/validate-branch-name.config.js b/validate-branch-name.config.js
new file mode 100644
index 0000000..b0d450f
--- /dev/null
+++ b/validate-branch-name.config.js
@@ -0,0 +1,5 @@
+
+module.exports = {
+ pattern: '^(main|next|release)$|^(chore|ci|docs|feature|fix|hotfix|perf|refactor|revert|style|test)\/([a-zA-Z-].+)$',
+ errorMsg: 'Invalid branch name'
+}