diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..c25c645f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,60 @@ +# Space or Tabs? +# https://stackoverflow.com/questions/35649847/objective-reasons-for-using-spaces-instead-of-tabs-for-indentation +# https://stackoverflow.com/questions/12093748/how-to-use-tabs-instead-of-spaces-in-a-shell-script +# https://github.com/editorconfig/editorconfig-defaults/blob/master/editorconfig-defaults.json +# +# 1. What happens when I press the Tab key in my text editor? +# 2. What happens when I request my editor to indent one or more lines? +# 3. What happens when I view a file containing U+0009 HORIZONTAL TAB characters? +# +# Answers: +# +# 1. Pressing the Tab key should indent the current line (or selected lines) one additional level. +# 2. As a secondary alternative, I can also tolerate an editor that, +# like Emacs, uses this key for a context-sensitive fix-my-indentation command. +# 3. Indenting one or more lines should follow the reigning convention, if consensus is sufficiently strong; otherwise, +# I greatly prefer 2-space indentation at each level. U+0009 characters should shift subsequent characters to the next tab stop. +# +# Note: VIM users should use alternate marks [[[ and ]]] as the original ones can confuse nested substitutions, e.g.: ${${${VAR}}} +# +# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- +# vim: ft=zsh sw=2 ts=2 et + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.sln] +indent_style = tab + +[*.{md,mdx,rst}] +trim_trailing_whitespace = false + +[*.{cmd,bat}] +end_of_line = crlf + +[*za-*] +end_of_line = lf + +[*.{sh,bash,zsh,fish}] +end_of_line = lf + +[Makefile] +indent_style = tab +indent_size = 4 + +[*.{py,rb}] +indent_size = 4 + +[*.{go,java,scala,groovy,kotlin}] +indent_style = tab +indent_size = 4 + +[*.{cs,csx,cake,vb,vbx}] +# Default Severity for all .NET Code Style rules below +dotnet_analyzer_diagnostic.severity = warning diff --git a/.eslintrc.js b/.eslintrc.js index f9c76449..93a48139 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,51 +1,51 @@ /* eslint-disable */ module.exports = { - 'env': { - 'browser': true, - 'es2021': true, - "webextensions": true + env: { + browser: true, + es2021: true, + webextensions: true, }, - 'extends': 'eslint:recommended', - 'ignorePatterns': ['webpack.*', 'dist/', 'babel.*'], - 'parserOptions': { - 'ecmaVersion': 12, - 'sourceType': 'module' + extends: ["eslint:recommended", "prettier"], + ignorePatterns: ["webpack.*", "dist/", "babel.*"], + parserOptions: { + ecmaVersion: 13, + sourceType: "module", }, - 'plugins': ['unused-imports', 'jest'], - 'rules': { - 'indent': ['error', 2, { 'SwitchCase': 1 }], - 'linebreak-style': [ - 'error', - 'unix' + plugins: ["unused-imports", "jest"], + rules: { + indent: ["error", 2, { SwitchCase: 1 }], + "linebreak-style": ["error", "unix"], + quotes: ["error", "single"], + semi: ["error", "always"], + "no-unused-vars": "off", + "unused-imports/no-unused-imports": ["error"], + "unused-imports/no-unused-vars": [ + "warn", + { + vars: "all", + varsIgnorePattern: "^_", + args: "after-used", + argsIgnorePattern: "^_", + }, ], - 'quotes': [ - 'error', - 'single' - ], - 'semi': [ - 'error', - 'always' - ], - 'no-unused-vars': 'off', - 'unused-imports/no-unused-imports': ['error'], - 'unused-imports/no-unused-vars': [ - 'warn', - { 'vars': 'all', 'varsIgnorePattern': '^_', 'args': 'after-used', 'argsIgnorePattern': '^_' } - ] }, // This lints typescript files differently than js files. - 'overrides': [{ - 'files': ["**/*.ts"], - 'extends': [ - 'eslint:recommended', "plugin:@typescript-eslint/recommended" - ], - 'parser': '@typescript-eslint/parser', - 'plugins': ['@typescript-eslint', 'unused-imports', 'jest'], - 'rules': { - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/no-unused-vars': 'off', - // Good in theory, but seems to disables implict function return types - '@typescript-eslint/explicit-module-boundary-types': 'off', + overrides: [ + { + files: ["**/*.ts"], + extends: [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "prettier", + ], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint", "unused-imports", "jest"], + rules: { + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-unused-vars": "off", + // Good in theory, but seems to disables implict function return types + "@typescript-eslint/explicit-module-boundary-types": "off", + }, }, - }] -} + ], +}; diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 16636971..945ce418 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,10 +1,9 @@ --- name: Bug report about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - +title: "" +labels: "" +assignees: "" --- # Have you checked the [nightTab Wiki for support?](https://github.com/zombieFox/nightTab/wiki) @@ -12,6 +11,7 @@ assignees: '' **Please check before posting a question or issue.** Some frequently asked questions include: + - [Browser support](https://github.com/zombieFox/nightTab/wiki/Browser-support) - [Protected URLs](https://github.com/zombieFox/nightTab/wiki/Protected-URLs) - [Resetting when opening the browser](https://github.com/zombieFox/nightTab/wiki/Resetting-when-opening-the-browser) @@ -26,6 +26,7 @@ A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: + 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' @@ -38,10 +39,11 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - - nightTab version [e.g. 6.0.0] + +- OS: [e.g. iOS] +- Browser [e.g. chrome, safari] +- Version [e.g. 22] +- nightTab version [e.g. 6.0.0] **Additional context** Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 5f8912d4..4f847a3c 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,10 +1,9 @@ --- name: Feature request about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - +title: "" +labels: "" +assignees: "" --- **What kind of feature request is this?** diff --git a/.github/workflows/gh-pages-deploy.yml b/.github/workflows/gh-pages-deploy.yml deleted file mode 100644 index 17684b33..00000000 --- a/.github/workflows/gh-pages-deploy.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: gh-pages-deploy - -on: - push: - branches: - - main - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2.3.1 - with: - persist-credentials: false - - uses: actions/setup-node@v2 - with: - node-version: '12' # TODO IDK what version nighttab is built with normally. - cache: 'npm' - - run: | - npm install - npm run lint - npm test - npm run build - - - name: Deploy - uses: JamesIves/github-pages-deploy-action@4.1.3 - with: - branch: gh-pages - folder: dist/web diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 00000000..3acbdd89 --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,47 @@ +--- +name: 🛳 Deploy static content +on: + push: + branches: ["main"] + workflow_dispatch: +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: ✅ Check out code from GitHub + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: 📦 Setup PNPM + uses: pnpm/action-setup@v2 + - name: ⎔ Setup Node + uses: actions/setup-node@v3 + with: + node-version: "lts/*" + cache: "pnpm" + - name: ✨ Prepare Source + run: | + pnpm i && pnpm lint + pnpm test && pnpm build + - name: 🏗 Setup Pages + if: github.ref == 'refs/heads/main' + uses: actions/configure-pages@v3 + - name: 🚀 Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: ./dist/web + - name: 🛳 Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/.github/workflows/pull-request-tests.yml b/.github/workflows/pull-request-tests.yml deleted file mode 100644 index a4c08871..00000000 --- a/.github/workflows/pull-request-tests.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Run tests - -on: [push, pull_request] - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout - - uses: actions/checkout@v2 - - name: Install Dependecies & Test - - uses: actions/setup-node@v2 - with: - node-version: '12' # TODO IDK what version nighttab is built with normally. - cache: 'npm' - - run: | - npm install - npm run lint - npm test diff --git a/.gitignore b/.gitignore index ac9d0978..f6aff755 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,152 @@ +# Dependencies +/node_modules + +# pnpm-lock in use +yarn.lock + +# Production +/build + +# Docusaurus cache and generated files +.docusaurus +.lycheecache + +# Generated files +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# local .DS_Store dist -node_modules diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index 20d0d06e..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npm run lint diff --git a/asset/banner/banner-1400-560.png b/asset/banner/banner-1400-560.png index d8e6d2b2..5ecfdb5a 100644 Binary files a/asset/banner/banner-1400-560.png and b/asset/banner/banner-1400-560.png differ diff --git a/asset/banner/banner-440-280.png b/asset/banner/banner-440-280.png index cb1afdda..e5b43e62 100644 Binary files a/asset/banner/banner-440-280.png and b/asset/banner/banner-440-280.png differ diff --git a/asset/banner/banner-920-680.png b/asset/banner/banner-920-680.png index a01eadc5..c8bad53e 100644 Binary files a/asset/banner/banner-920-680.png and b/asset/banner/banner-920-680.png differ diff --git a/asset/logo/bymeacoffee-48.png b/asset/logo/bymeacoffee-48.png index 64f11ae2..5f74bf17 100644 Binary files a/asset/logo/bymeacoffee-48.png and b/asset/logo/bymeacoffee-48.png differ diff --git a/asset/logo/reddit-48.png b/asset/logo/reddit-48.png index 5cce42a3..8f63ad54 100644 Binary files a/asset/logo/reddit-48.png and b/asset/logo/reddit-48.png differ diff --git a/asset/screenshot/screenshot-001.png b/asset/screenshot/screenshot-001.png index 68f5c30a..80ee2c5f 100644 Binary files a/asset/screenshot/screenshot-001.png and b/asset/screenshot/screenshot-001.png differ diff --git a/asset/screenshot/screenshot-002.png b/asset/screenshot/screenshot-002.png index a632d1c3..efee4ee3 100644 Binary files a/asset/screenshot/screenshot-002.png and b/asset/screenshot/screenshot-002.png differ diff --git a/asset/screenshot/screenshot-003.json b/asset/screenshot/screenshot-003.json index cd6eed41..e98d36ec 100644 --- a/asset/screenshot/screenshot-003.json +++ b/asset/screenshot/screenshot-003.json @@ -1 +1,569 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":100,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"header-bookmark","direction":"vertical","size":100,"width":80,"padding":40,"gutter":20,"breakpoint":"xl","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"left"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"number"},"minute":{"show":true,"display":"number"},"second":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"meridiem":{"show":false},"hour24":{"show":true},"size":100,"newLine":false},"date":{"day":{"show":true,"display":"word","weekStart":"monday","length":"long"},"date":{"show":true,"display":"number","ordinal":true},"month":{"show":true,"display":"word","length":"long","ordinal":true},"year":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":100,"newLine":false},"search":{"show":true,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":["clock","date","search","toolbar"],"edit":false},"bookmark":{"size":100,"url":{"show":true},"line":{"show":true},"shadow":{"show":true},"hoverScale":{"show":true},"orientation":"bottom","style":"block","newTab":false,"edit":false,"add":false,"show":true,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"header","position":"bottom-right","size":100,"accent":{"show":true},"add":{"show":true},"edit":{"show":true},"newLine":false},"theme":{"color":{"range":{"primary":{"h":221,"s":40}},"contrast":{"start":12,"end":50},"shades":14},"accent":{"hsl":{"h":236,"s":100,"l":50},"rgb":{"r":0,"g":17,"b":255},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Megrim","weight":400,"style":"normal"},"ui":{"name":"Lato","weight":400,"style":"normal"}},"background":{"type":"video","color":{"hsl":{"h":221,"s":47,"l":17},"rgb":{"r":23,"g":36,"b":64}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}},"video":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626351787997.mp4?raw=true","blur":0,"grayscale":100,"scale":100,"accent":15,"opacity":30,"vignette":{"opacity":40,"start":90,"end":50}}},"opacity":{"general":0},"layout":{"color":{"by":"theme","blur":0,"opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":0}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":0}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":0,"opacity":100}},"group":{"openAll":{"opacity":0}},"toolbar":{"opacity":0},"style":"dark","radius":50,"shadow":75,"shade":{"opacity":10,"blur":0},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false,"autoSuggest":false},"bookmark":[{"name":{"text":"Cool stuff","show":false},"openAll":{"show":false},"items":[{"url":"https://zombiefox.github.io/awesomeSheet/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"awesomeSheet","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"AS"},"icon":{"name":"dice-d20","prefix":"fas","label":"Dice D20"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297988913},{"url":"https://www.amazon.co.uk/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Amazon","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"AZ"},"icon":{"name":"amazon","prefix":"fab","label":"Amazon"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297999213},{"url":"https://mail.google.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Gmail","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"GM"},"icon":{"name":"envelope","prefix":"fas","label":"Envelope"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298011293},{"url":"https://www.reddit.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Reddit","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"R"},"icon":{"name":"reddit-alien","prefix":"fab","label":"reddit Alien"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298017175},{"url":"https://www.netflix.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Netflix","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"N"},"icon":{"name":"film","prefix":"fas","label":"Film"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298022303},{"url":"https://drive.google.com/drive/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Drive","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"DR"},"icon":{"name":"google-drive","prefix":"fab","label":"Drive"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298028996},{"url":"https://devdocs.io/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Devdocs","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"DEV"},"icon":{"name":"code","prefix":"fas","label":"Code"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298034209},{"url":"https://github.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Github","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"GIT"},"icon":{"name":"github","prefix":"fab","label":"GitHub"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298038470}]}]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 100, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "header-bookmark", + "direction": "vertical", + "size": 100, + "width": 80, + "padding": 40, + "gutter": 20, + "breakpoint": "xl", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "left" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": true, "display": "number" }, + "minute": { "show": true, "display": "number" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "meridiem": { "show": false }, + "hour24": { "show": true }, + "size": 100, + "newLine": false + }, + "date": { + "day": { + "show": true, + "display": "word", + "weekStart": "monday", + "length": "long" + }, + "date": { "show": true, "display": "number", "ordinal": true }, + "month": { + "show": true, + "display": "word", + "length": "long", + "ordinal": true + }, + "year": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 100, + "newLine": false + }, + "search": { + "show": true, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": ["clock", "date", "search", "toolbar"], + "edit": false + }, + "bookmark": { + "size": 100, + "url": { "show": true }, + "line": { "show": true }, + "shadow": { "show": true }, + "hoverScale": { "show": true }, + "orientation": "bottom", + "style": "block", + "newTab": false, + "edit": false, + "add": false, + "show": true, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "header", + "position": "bottom-right", + "size": 100, + "accent": { "show": true }, + "add": { "show": true }, + "edit": { "show": true }, + "newLine": false + }, + "theme": { + "color": { + "range": { "primary": { "h": 221, "s": 40 } }, + "contrast": { "start": 12, "end": 50 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 236, "s": 100, "l": 50 }, + "rgb": { "r": 0, "g": 17, "b": 255 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { "name": "Megrim", "weight": 400, "style": "normal" }, + "ui": { "name": "Lato", "weight": 400, "style": "normal" } + }, + "background": { + "type": "video", + "color": { + "hsl": { "h": 221, "s": 47, "l": 17 }, + "rgb": { "r": 23, "g": 36, "b": 64 } + }, + "gradient": { + "angle": 160, + "start": { + "hsl": { "h": 206, "s": 16, "l": 40 }, + "rgb": { "r": 86, "g": 104, "b": 118 } + }, + "end": { + "hsl": { "h": 219, "s": 28, "l": 12 }, + "rgb": { "r": 22, "g": 28, "b": 39 } + } + }, + "image": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + }, + "video": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626351787997.mp4?raw=true", + "blur": 0, + "grayscale": 100, + "scale": 100, + "accent": 15, + "opacity": 30, + "vignette": { "opacity": 40, "start": 90, "end": 50 } + } + }, + "opacity": { "general": 0 }, + "layout": { + "color": { + "by": "theme", + "blur": 0, + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 0 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 0 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 0, "opacity": 100 } + }, + "group": { "openAll": { "opacity": 0 } }, + "toolbar": { "opacity": 0 }, + "style": "dark", + "radius": 50, + "shadow": 75, + "shade": { "opacity": 10, "blur": 0 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false, + "autoSuggest": false + }, + "bookmark": [ + { + "name": { "text": "Cool stuff", "show": false }, + "openAll": { "show": false }, + "items": [ + { + "url": "https://zombiefox.github.io/awesomeSheet/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "awesomeSheet", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "AS" }, + "icon": { + "name": "dice-d20", + "prefix": "fas", + "label": "Dice D20" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297988913 + }, + { + "url": "https://www.amazon.co.uk/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Amazon", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "AZ" }, + "icon": { "name": "amazon", "prefix": "fab", "label": "Amazon" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297999213 + }, + { + "url": "https://mail.google.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Gmail", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "GM" }, + "icon": { + "name": "envelope", + "prefix": "fas", + "label": "Envelope" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298011293 + }, + { + "url": "https://www.reddit.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Reddit", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "R" }, + "icon": { + "name": "reddit-alien", + "prefix": "fab", + "label": "reddit Alien" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298017175 + }, + { + "url": "https://www.netflix.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Netflix", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "N" }, + "icon": { "name": "film", "prefix": "fas", "label": "Film" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298022303 + }, + { + "url": "https://drive.google.com/drive/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Drive", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "DR" }, + "icon": { + "name": "google-drive", + "prefix": "fab", + "label": "Drive" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298028996 + }, + { + "url": "https://devdocs.io/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Devdocs", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "DEV" }, + "icon": { "name": "code", "prefix": "fas", "label": "Code" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298034209 + }, + { + "url": "https://github.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Github", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "GIT" }, + "icon": { "name": "github", "prefix": "fab", "label": "GitHub" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298038470 + } + ] + } + ] +} diff --git a/asset/screenshot/screenshot-003.png b/asset/screenshot/screenshot-003.png index 63e7d0e3..25db0a6c 100644 Binary files a/asset/screenshot/screenshot-003.png and b/asset/screenshot/screenshot-003.png differ diff --git a/asset/screenshot/screenshot-004.json b/asset/screenshot/screenshot-004.json index ff6f8664..9c215c7a 100644 --- a/asset/screenshot/screenshot-004.json +++ b/asset/screenshot/screenshot-004.json @@ -1 +1,569 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":100,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"bookmark-header","direction":"vertical","size":100,"width":60,"padding":40,"gutter":20,"breakpoint":"lg","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"center"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"word"},"minute":{"show":true,"display":"word"},"second":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"meridiem":{"show":false},"hour24":{"show":false},"size":100,"newLine":false},"date":{"day":{"show":true,"display":"word","weekStart":"monday","length":"long"},"date":{"show":true,"display":"word","ordinal":true},"month":{"show":true,"display":"word","length":"long","ordinal":true},"year":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":100,"newLine":false},"search":{"show":false,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":["clock","date","toolbar"],"edit":false},"bookmark":{"size":100,"url":{"show":true},"line":{"show":true},"shadow":{"show":true},"hoverScale":{"show":true},"orientation":"bottom","style":"list","newTab":false,"edit":false,"add":false,"show":true,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"header","position":"bottom-right","size":100,"accent":{"show":false},"add":{"show":false},"edit":{"show":false},"newLine":false},"theme":{"color":{"range":{"primary":{"h":191,"s":80}},"contrast":{"start":7,"end":65},"shades":14},"accent":{"hsl":{"h":38,"s":100,"l":50},"rgb":{"r":255,"g":160,"b":0},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Life Savers","weight":400,"style":"normal"},"ui":{"name":"Oswald","weight":400,"style":"normal"}},"background":{"type":"theme","color":{"hsl":{"h":221,"s":47,"l":17},"rgb":{"r":23,"g":36,"b":64}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}},"video":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}}},"opacity":{"general":0},"layout":{"color":{"by":"theme","blur":0,"opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":0}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":0}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":0,"opacity":100}},"group":{"openAll":{"opacity":0}},"toolbar":{"opacity":0},"style":"dark","radius":50,"shadow":175,"shade":{"opacity":10,"blur":0},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false,"autoSuggest":false},"bookmark":[{"name":{"text":"Cool stuff","show":false},"openAll":{"show":false},"items":[{"url":"https://zombiefox.github.io/awesomeSheet/","display":{"alignment":"center-left","direction":"horizontal","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"awesomeSheet","size":7},"visual":{"show":true,"type":"letter","size":15,"letter":{"text":"AS"},"icon":{"name":"dice-d20","prefix":"fas","label":"Dice D20"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297988913},{"url":"https://www.amazon.co.uk/","display":{"alignment":"center-left","direction":"horizontal","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Amazon","size":7},"visual":{"show":true,"type":"letter","size":15,"letter":{"text":"AZ"},"icon":{"name":"amazon","prefix":"fab","label":"Amazon"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297999213},{"url":"https://mail.google.com/","display":{"alignment":"center-left","direction":"horizontal","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Gmail","size":7},"visual":{"show":true,"type":"letter","size":15,"letter":{"text":"GM"},"icon":{"name":"envelope","prefix":"fas","label":"Envelope"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298011293},{"url":"https://www.reddit.com/","display":{"alignment":"center-left","direction":"horizontal","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Reddit","size":7},"visual":{"show":true,"type":"letter","size":15,"letter":{"text":"R"},"icon":{"name":"reddit-alien","prefix":"fab","label":"reddit Alien"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298017175},{"url":"https://www.netflix.com/","display":{"alignment":"center-left","direction":"horizontal","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Netflix","size":7},"visual":{"show":true,"type":"letter","size":15,"letter":{"text":"N"},"icon":{"name":"film","prefix":"fas","label":"Film"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298022303},{"url":"https://drive.google.com/drive/","display":{"alignment":"center-left","direction":"horizontal","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Drive","size":7},"visual":{"show":true,"type":"letter","size":15,"letter":{"text":"DR"},"icon":{"name":"google-drive","prefix":"fab","label":"Drive"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298028996},{"url":"https://devdocs.io/","display":{"alignment":"center-left","direction":"horizontal","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Devdocs","size":7},"visual":{"show":true,"type":"letter","size":15,"letter":{"text":"DEV"},"icon":{"name":"code","prefix":"fas","label":"Code"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298034209},{"url":"https://github.com/","display":{"alignment":"center-left","direction":"horizontal","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Github","size":7},"visual":{"show":true,"type":"letter","size":15,"letter":{"text":"GIT"},"icon":{"name":"github","prefix":"fab","label":"GitHub"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298038470}]}]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 100, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "bookmark-header", + "direction": "vertical", + "size": 100, + "width": 60, + "padding": 40, + "gutter": 20, + "breakpoint": "lg", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "center" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": true, "display": "word" }, + "minute": { "show": true, "display": "word" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "meridiem": { "show": false }, + "hour24": { "show": false }, + "size": 100, + "newLine": false + }, + "date": { + "day": { + "show": true, + "display": "word", + "weekStart": "monday", + "length": "long" + }, + "date": { "show": true, "display": "word", "ordinal": true }, + "month": { + "show": true, + "display": "word", + "length": "long", + "ordinal": true + }, + "year": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 100, + "newLine": false + }, + "search": { + "show": false, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": ["clock", "date", "toolbar"], + "edit": false + }, + "bookmark": { + "size": 100, + "url": { "show": true }, + "line": { "show": true }, + "shadow": { "show": true }, + "hoverScale": { "show": true }, + "orientation": "bottom", + "style": "list", + "newTab": false, + "edit": false, + "add": false, + "show": true, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "header", + "position": "bottom-right", + "size": 100, + "accent": { "show": false }, + "add": { "show": false }, + "edit": { "show": false }, + "newLine": false + }, + "theme": { + "color": { + "range": { "primary": { "h": 191, "s": 80 } }, + "contrast": { "start": 7, "end": 65 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 38, "s": 100, "l": 50 }, + "rgb": { "r": 255, "g": 160, "b": 0 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { "name": "Life Savers", "weight": 400, "style": "normal" }, + "ui": { "name": "Oswald", "weight": 400, "style": "normal" } + }, + "background": { + "type": "theme", + "color": { + "hsl": { "h": 221, "s": 47, "l": 17 }, + "rgb": { "r": 23, "g": 36, "b": 64 } + }, + "gradient": { + "angle": 160, + "start": { + "hsl": { "h": 206, "s": 16, "l": 40 }, + "rgb": { "r": 86, "g": 104, "b": 118 } + }, + "end": { + "hsl": { "h": 219, "s": 28, "l": 12 }, + "rgb": { "r": 22, "g": 28, "b": 39 } + } + }, + "image": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + }, + "video": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + } + }, + "opacity": { "general": 0 }, + "layout": { + "color": { + "by": "theme", + "blur": 0, + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 0 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 0 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 0, "opacity": 100 } + }, + "group": { "openAll": { "opacity": 0 } }, + "toolbar": { "opacity": 0 }, + "style": "dark", + "radius": 50, + "shadow": 175, + "shade": { "opacity": 10, "blur": 0 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false, + "autoSuggest": false + }, + "bookmark": [ + { + "name": { "text": "Cool stuff", "show": false }, + "openAll": { "show": false }, + "items": [ + { + "url": "https://zombiefox.github.io/awesomeSheet/", + "display": { + "alignment": "center-left", + "direction": "horizontal", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "awesomeSheet", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 15, + "letter": { "text": "AS" }, + "icon": { + "name": "dice-d20", + "prefix": "fas", + "label": "Dice D20" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297988913 + }, + { + "url": "https://www.amazon.co.uk/", + "display": { + "alignment": "center-left", + "direction": "horizontal", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Amazon", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 15, + "letter": { "text": "AZ" }, + "icon": { "name": "amazon", "prefix": "fab", "label": "Amazon" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297999213 + }, + { + "url": "https://mail.google.com/", + "display": { + "alignment": "center-left", + "direction": "horizontal", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Gmail", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 15, + "letter": { "text": "GM" }, + "icon": { + "name": "envelope", + "prefix": "fas", + "label": "Envelope" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298011293 + }, + { + "url": "https://www.reddit.com/", + "display": { + "alignment": "center-left", + "direction": "horizontal", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Reddit", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 15, + "letter": { "text": "R" }, + "icon": { + "name": "reddit-alien", + "prefix": "fab", + "label": "reddit Alien" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298017175 + }, + { + "url": "https://www.netflix.com/", + "display": { + "alignment": "center-left", + "direction": "horizontal", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Netflix", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 15, + "letter": { "text": "N" }, + "icon": { "name": "film", "prefix": "fas", "label": "Film" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298022303 + }, + { + "url": "https://drive.google.com/drive/", + "display": { + "alignment": "center-left", + "direction": "horizontal", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Drive", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 15, + "letter": { "text": "DR" }, + "icon": { + "name": "google-drive", + "prefix": "fab", + "label": "Drive" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298028996 + }, + { + "url": "https://devdocs.io/", + "display": { + "alignment": "center-left", + "direction": "horizontal", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Devdocs", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 15, + "letter": { "text": "DEV" }, + "icon": { "name": "code", "prefix": "fas", "label": "Code" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298034209 + }, + { + "url": "https://github.com/", + "display": { + "alignment": "center-left", + "direction": "horizontal", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Github", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 15, + "letter": { "text": "GIT" }, + "icon": { "name": "github", "prefix": "fab", "label": "GitHub" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298038470 + } + ] + } + ] +} diff --git a/asset/screenshot/screenshot-004.png b/asset/screenshot/screenshot-004.png index d77239d6..13d962c4 100644 Binary files a/asset/screenshot/screenshot-004.png and b/asset/screenshot/screenshot-004.png differ diff --git a/asset/screenshot/screenshot-005.json b/asset/screenshot/screenshot-005.json index 8aaa23e3..af420604 100644 --- a/asset/screenshot/screenshot-005.json +++ b/asset/screenshot/screenshot-005.json @@ -1 +1,213 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":100,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"header-bookmark","direction":"vertical","size":100,"width":90,"padding":40,"gutter":20,"breakpoint":"xs","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"center"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"number"},"minute":{"show":true,"display":"number"},"second":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"meridiem":{"show":true},"hour24":{"show":false},"size":150,"newLine":false},"date":{"day":{"show":true,"display":"word","weekStart":"monday","length":"short"},"date":{"show":true,"display":"number","ordinal":false},"month":{"show":true,"display":"word","length":"short","ordinal":true},"year":{"show":true,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":150,"newLine":false},"search":{"show":false,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":["clock","date"],"edit":false},"bookmark":{"size":100,"url":{"show":true},"line":{"show":true},"shadow":{"show":true},"hoverScale":{"show":true},"orientation":"bottom","style":"list","newTab":false,"edit":false,"add":false,"show":false,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"corner","position":"top-right","size":100,"accent":{"show":false},"add":{"show":false},"edit":{"show":false},"newLine":false},"theme":{"color":{"range":{"primary":{"h":0,"s":69}},"contrast":{"start":15,"end":80},"shades":14},"accent":{"hsl":{"h":35,"s":100,"l":50},"rgb":{"r":255,"g":150,"b":0},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Big Shoulders Display","weight":400,"style":"normal"},"ui":{"name":"Montserrat","weight":400,"style":"normal"}},"background":{"type":"image","color":{"hsl":{"h":221,"s":47,"l":17},"rgb":{"r":23,"g":36,"b":64}},"gradient":{"angle":30,"start":{"hsl":{"h":358,"s":100,"l":15},"rgb":{"r":77,"g":0,"b":3}},"end":{"hsl":{"h":9,"s":99,"l":40},"rgb":{"r":203,"g":31,"b":1}}},"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628355202943.jpeg?raw=true","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":15,"vignette":{"opacity":25,"start":90,"end":35}},"video":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}}},"opacity":{"general":10},"layout":{"color":{"by":"theme","blur":0,"opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":1}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":10}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":0,"opacity":10}},"group":{"openAll":{"opacity":10}},"toolbar":{"opacity":10},"style":"dark","radius":60,"shadow":100,"shade":{"opacity":10,"blur":0},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false},"bookmark":[]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 100, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "header-bookmark", + "direction": "vertical", + "size": 100, + "width": 90, + "padding": 40, + "gutter": 20, + "breakpoint": "xs", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "center" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": true, "display": "number" }, + "minute": { "show": true, "display": "number" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "meridiem": { "show": true }, + "hour24": { "show": false }, + "size": 150, + "newLine": false + }, + "date": { + "day": { + "show": true, + "display": "word", + "weekStart": "monday", + "length": "short" + }, + "date": { "show": true, "display": "number", "ordinal": false }, + "month": { + "show": true, + "display": "word", + "length": "short", + "ordinal": true + }, + "year": { "show": true, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 150, + "newLine": false + }, + "search": { + "show": false, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": ["clock", "date"], + "edit": false + }, + "bookmark": { + "size": 100, + "url": { "show": true }, + "line": { "show": true }, + "shadow": { "show": true }, + "hoverScale": { "show": true }, + "orientation": "bottom", + "style": "list", + "newTab": false, + "edit": false, + "add": false, + "show": false, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "corner", + "position": "top-right", + "size": 100, + "accent": { "show": false }, + "add": { "show": false }, + "edit": { "show": false }, + "newLine": false + }, + "theme": { + "color": { + "range": { "primary": { "h": 0, "s": 69 } }, + "contrast": { "start": 15, "end": 80 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 35, "s": 100, "l": 50 }, + "rgb": { "r": 255, "g": 150, "b": 0 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { + "name": "Big Shoulders Display", + "weight": 400, + "style": "normal" + }, + "ui": { "name": "Montserrat", "weight": 400, "style": "normal" } + }, + "background": { + "type": "image", + "color": { + "hsl": { "h": 221, "s": 47, "l": 17 }, + "rgb": { "r": 23, "g": 36, "b": 64 } + }, + "gradient": { + "angle": 30, + "start": { + "hsl": { "h": 358, "s": 100, "l": 15 }, + "rgb": { "r": 77, "g": 0, "b": 3 } + }, + "end": { + "hsl": { "h": 9, "s": 99, "l": 40 }, + "rgb": { "r": 203, "g": 31, "b": 1 } + } + }, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628355202943.jpeg?raw=true", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 15, + "vignette": { "opacity": 25, "start": 90, "end": 35 } + }, + "video": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + } + }, + "opacity": { "general": 10 }, + "layout": { + "color": { + "by": "theme", + "blur": 0, + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 1 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 10 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 0, "opacity": 10 } + }, + "group": { "openAll": { "opacity": 10 } }, + "toolbar": { "opacity": 10 }, + "style": "dark", + "radius": 60, + "shadow": 100, + "shade": { "opacity": 10, "blur": 0 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false + }, + "bookmark": [] +} diff --git a/asset/screenshot/screenshot-005.png b/asset/screenshot/screenshot-005.png index 83a49b66..d4ab63d2 100644 Binary files a/asset/screenshot/screenshot-005.png and b/asset/screenshot/screenshot-005.png differ diff --git a/asset/screenshot/screenshot-006.json b/asset/screenshot/screenshot-006.json index 5fd15a46..d68f0fa2 100644 --- a/asset/screenshot/screenshot-006.json +++ b/asset/screenshot/screenshot-006.json @@ -1 +1,572 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":80,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"header-bookmark","direction":"horizontal","size":100,"width":80,"padding":40,"gutter":20,"breakpoint":"md","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"right"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"number"},"minute":{"show":true,"display":"number"},"second":{"show":false,"display":"number"},"separator":{"show":false,"text":""},"meridiem":{"show":false},"hour24":{"show":true},"size":400,"newLine":true},"date":{"day":{"show":false,"display":"word","weekStart":"monday","length":"long"},"date":{"show":true,"display":"number","ordinal":false},"month":{"show":true,"display":"word","length":"short","ordinal":true},"year":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":100,"newLine":true},"search":{"show":true,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":["clock","date","search"],"edit":false},"bookmark":{"size":100,"url":{"show":true},"line":{"show":false},"shadow":{"show":false},"hoverScale":{"show":false},"orientation":"bottom","style":"block","newTab":false,"edit":false,"add":false,"show":true,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"corner","position":"top-left","size":100,"accent":{"show":true},"add":{"show":true},"edit":{"show":true},"newLine":true},"theme":{"color":{"range":{"primary":{"h":227,"s":52}},"contrast":{"start":20,"end":80},"shades":14},"accent":{"hsl":{"h":316,"s":100,"l":50},"rgb":{"r":255,"g":0,"b":187},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Major Mono Display","weight":400,"style":"normal"},"ui":{"name":"Roboto Condensed","weight":400,"style":"normal"}},"background":{"type":"image","color":{"hsl":{"h":221,"s":47,"l":17},"rgb":{"r":23,"g":36,"b":64}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365114391.jpeg?raw=true","blur":0,"grayscale":0,"scale":100,"accent":60,"opacity":70,"vignette":{"opacity":0,"start":90,"end":70}},"video":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}}},"opacity":{"general":100},"layout":{"color":{"by":"theme","blur":0,"opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":1}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":100}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":0,"opacity":100}},"group":{"openAll":{"opacity":100}},"toolbar":{"opacity":0},"style":"dark","radius":25,"shadow":0,"shade":{"opacity":70,"blur":0},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false},"bookmark":[{"name":{"text":"Cool stuff","show":false},"openAll":{"show":false},"items":[{"url":"https://zombiefox.github.io/awesomeSheet/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"awesomeSheet","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"AS"},"icon":{"name":"dice-d20","prefix":"fas","label":"Dice D20"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297988913},{"url":"https://www.amazon.co.uk/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Amazon","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"AZ"},"icon":{"name":"amazon","prefix":"fab","label":"Amazon"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297999213},{"url":"https://www.reddit.com/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Reddit","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"R"},"icon":{"name":"reddit-alien","prefix":"fab","label":"reddit Alien"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":true,"tall":true},"timestamp":1626298017175},{"url":"https://www.netflix.com/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Netflix","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"N"},"icon":{"name":"film","prefix":"fas","label":"Film"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":true},"timestamp":1626298022303},{"url":"https://mail.google.com/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Gmail","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"GM"},"icon":{"name":"envelope","prefix":"fas","label":"Envelope"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298011293},{"url":"https://drive.google.com/drive/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Drive","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"DR"},"icon":{"name":"google-drive","prefix":"fab","label":"Drive"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298028996},{"url":"https://devdocs.io/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Devdocs","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"DEV"},"icon":{"name":"code","prefix":"fas","label":"Code"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298034209},{"url":"https://github.com/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"Github","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"GIT"},"icon":{"name":"github","prefix":"fab","label":"GitHub"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298038470}]}]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 80, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "header-bookmark", + "direction": "horizontal", + "size": 100, + "width": 80, + "padding": 40, + "gutter": 20, + "breakpoint": "md", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "right" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": true, "display": "number" }, + "minute": { "show": true, "display": "number" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": false, "text": "" }, + "meridiem": { "show": false }, + "hour24": { "show": true }, + "size": 400, + "newLine": true + }, + "date": { + "day": { + "show": false, + "display": "word", + "weekStart": "monday", + "length": "long" + }, + "date": { "show": true, "display": "number", "ordinal": false }, + "month": { + "show": true, + "display": "word", + "length": "short", + "ordinal": true + }, + "year": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 100, + "newLine": true + }, + "search": { + "show": true, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": ["clock", "date", "search"], + "edit": false + }, + "bookmark": { + "size": 100, + "url": { "show": true }, + "line": { "show": false }, + "shadow": { "show": false }, + "hoverScale": { "show": false }, + "orientation": "bottom", + "style": "block", + "newTab": false, + "edit": false, + "add": false, + "show": true, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "corner", + "position": "top-left", + "size": 100, + "accent": { "show": true }, + "add": { "show": true }, + "edit": { "show": true }, + "newLine": true + }, + "theme": { + "color": { + "range": { "primary": { "h": 227, "s": 52 } }, + "contrast": { "start": 20, "end": 80 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 316, "s": 100, "l": 50 }, + "rgb": { "r": 255, "g": 0, "b": 187 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { + "name": "Major Mono Display", + "weight": 400, + "style": "normal" + }, + "ui": { "name": "Roboto Condensed", "weight": 400, "style": "normal" } + }, + "background": { + "type": "image", + "color": { + "hsl": { "h": 221, "s": 47, "l": 17 }, + "rgb": { "r": 23, "g": 36, "b": 64 } + }, + "gradient": { + "angle": 160, + "start": { + "hsl": { "h": 206, "s": 16, "l": 40 }, + "rgb": { "r": 86, "g": 104, "b": 118 } + }, + "end": { + "hsl": { "h": 219, "s": 28, "l": 12 }, + "rgb": { "r": 22, "g": 28, "b": 39 } + } + }, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365114391.jpeg?raw=true", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 60, + "opacity": 70, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + }, + "video": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + } + }, + "opacity": { "general": 100 }, + "layout": { + "color": { + "by": "theme", + "blur": 0, + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 1 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 100 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 0, "opacity": 100 } + }, + "group": { "openAll": { "opacity": 100 } }, + "toolbar": { "opacity": 0 }, + "style": "dark", + "radius": 25, + "shadow": 0, + "shade": { "opacity": 70, "blur": 0 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false + }, + "bookmark": [ + { + "name": { "text": "Cool stuff", "show": false }, + "openAll": { "show": false }, + "items": [ + { + "url": "https://zombiefox.github.io/awesomeSheet/", + "display": { + "alignment": "bottom-right", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "awesomeSheet", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "AS" }, + "icon": { + "name": "dice-d20", + "prefix": "fas", + "label": "Dice D20" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297988913 + }, + { + "url": "https://www.amazon.co.uk/", + "display": { + "alignment": "bottom-right", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Amazon", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "AZ" }, + "icon": { "name": "amazon", "prefix": "fab", "label": "Amazon" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297999213 + }, + { + "url": "https://www.reddit.com/", + "display": { + "alignment": "bottom-right", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Reddit", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "R" }, + "icon": { + "name": "reddit-alien", + "prefix": "fab", + "label": "reddit Alien" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": true, "tall": true }, + "timestamp": 1626298017175 + }, + { + "url": "https://www.netflix.com/", + "display": { + "alignment": "bottom-right", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Netflix", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "N" }, + "icon": { "name": "film", "prefix": "fas", "label": "Film" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": true }, + "timestamp": 1626298022303 + }, + { + "url": "https://mail.google.com/", + "display": { + "alignment": "bottom-right", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Gmail", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "GM" }, + "icon": { + "name": "envelope", + "prefix": "fas", + "label": "Envelope" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298011293 + }, + { + "url": "https://drive.google.com/drive/", + "display": { + "alignment": "bottom-right", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Drive", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "DR" }, + "icon": { + "name": "google-drive", + "prefix": "fab", + "label": "Drive" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298028996 + }, + { + "url": "https://devdocs.io/", + "display": { + "alignment": "bottom-right", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Devdocs", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "DEV" }, + "icon": { "name": "code", "prefix": "fas", "label": "Code" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298034209 + }, + { + "url": "https://github.com/", + "display": { + "alignment": "bottom-right", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": true, "text": "Github", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "GIT" }, + "icon": { "name": "github", "prefix": "fab", "label": "GitHub" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298038470 + } + ] + } + ] +} diff --git a/asset/screenshot/screenshot-006.png b/asset/screenshot/screenshot-006.png index ea23b2fa..3c929506 100644 Binary files a/asset/screenshot/screenshot-006.png and b/asset/screenshot/screenshot-006.png differ diff --git a/asset/screenshot/screenshot-007.json b/asset/screenshot/screenshot-007.json index 415bec37..d3990bb2 100644 --- a/asset/screenshot/screenshot-007.json +++ b/asset/screenshot/screenshot-007.json @@ -1 +1,573 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":70,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"bookmark-header","direction":"horizontal","size":100,"width":90,"padding":40,"gutter":20,"breakpoint":"lg","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"center"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"number"},"minute":{"show":true,"display":"number"},"second":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"meridiem":{"show":false},"hour24":{"show":true},"size":350,"newLine":true},"date":{"day":{"show":false,"display":"word","weekStart":"monday","length":"long"},"date":{"show":true,"display":"number","ordinal":true},"month":{"show":true,"display":"word","length":"long","ordinal":true},"year":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":100,"newLine":false},"search":{"show":false,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":["clock","date","toolbar"],"edit":false},"bookmark":{"size":100,"url":{"show":true},"line":{"show":false},"shadow":{"show":true},"hoverScale":{"show":false},"orientation":"bottom","style":"block","newTab":false,"edit":false,"add":false,"show":true,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"header","position":"bottom-right","size":100,"accent":{"show":true},"add":{"show":true},"edit":{"show":true},"newLine":true},"theme":{"color":{"range":{"primary":{"h":228,"s":71}},"contrast":{"start":10,"end":60},"shades":14},"accent":{"hsl":{"h":180,"s":100,"l":50},"rgb":{"r":0,"g":255,"b":255},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Josefin Sans","weight":300,"style":"normal"},"ui":{"name":"Roboto Slab","weight":400,"style":"normal"}},"background":{"type":"theme","color":{"hsl":{"h":221,"s":47,"l":17},"rgb":{"r":23,"g":36,"b":64}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}},"video":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}}},"opacity":{"general":100},"layout":{"color":{"by":"theme","blur":0,"opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":0}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":40}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":0,"opacity":100}},"group":{"openAll":{"opacity":40}},"toolbar":{"opacity":0},"style":"dark","radius":50,"shadow":125,"shade":{"opacity":10,"blur":0},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false,"autoSuggest":false},"bookmark":[{"name":{"text":"Cool stuff","show":false},"openAll":{"show":false},"items":[{"url":"https://zombiefox.github.io/awesomeSheet/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"awesomeSheet","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"AS"},"icon":{"name":"dice-d20","prefix":"fas","label":"Dice D20"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297988913},{"url":"https://www.amazon.co.uk/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Amazon","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"AZ"},"icon":{"name":"amazon","prefix":"fab","label":"Amazon"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297999213},{"url":"https://mail.google.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Gmail","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"GM"},"icon":{"name":"envelope","prefix":"fas","label":"Envelope"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298011293},{"url":"https://www.reddit.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Reddit","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"R"},"icon":{"name":"reddit-alien","prefix":"fab","label":"reddit Alien"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":75,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628355887802.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":true},"timestamp":1626298017175},{"url":"https://github.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Github","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"GIT"},"icon":{"name":"github","prefix":"fab","label":"GitHub"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":50,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628355882811.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":true,"tall":false},"timestamp":1626298038470},{"url":"https://www.netflix.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Netflix","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"N"},"icon":{"name":"film","prefix":"fas","label":"Film"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298022303},{"url":"https://drive.google.com/drive/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Drive","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"DR"},"icon":{"name":"google-drive","prefix":"fab","label":"Drive"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298028996},{"url":"https://devdocs.io/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Devdocs","size":7},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"DEV"},"icon":{"name":"code","prefix":"fas","label":"Code"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298034209}]}]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 70, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "bookmark-header", + "direction": "horizontal", + "size": 100, + "width": 90, + "padding": 40, + "gutter": 20, + "breakpoint": "lg", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "center" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": true, "display": "number" }, + "minute": { "show": true, "display": "number" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "meridiem": { "show": false }, + "hour24": { "show": true }, + "size": 350, + "newLine": true + }, + "date": { + "day": { + "show": false, + "display": "word", + "weekStart": "monday", + "length": "long" + }, + "date": { "show": true, "display": "number", "ordinal": true }, + "month": { + "show": true, + "display": "word", + "length": "long", + "ordinal": true + }, + "year": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 100, + "newLine": false + }, + "search": { + "show": false, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": ["clock", "date", "toolbar"], + "edit": false + }, + "bookmark": { + "size": 100, + "url": { "show": true }, + "line": { "show": false }, + "shadow": { "show": true }, + "hoverScale": { "show": false }, + "orientation": "bottom", + "style": "block", + "newTab": false, + "edit": false, + "add": false, + "show": true, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "header", + "position": "bottom-right", + "size": 100, + "accent": { "show": true }, + "add": { "show": true }, + "edit": { "show": true }, + "newLine": true + }, + "theme": { + "color": { + "range": { "primary": { "h": 228, "s": 71 } }, + "contrast": { "start": 10, "end": 60 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 180, "s": 100, "l": 50 }, + "rgb": { "r": 0, "g": 255, "b": 255 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { "name": "Josefin Sans", "weight": 300, "style": "normal" }, + "ui": { "name": "Roboto Slab", "weight": 400, "style": "normal" } + }, + "background": { + "type": "theme", + "color": { + "hsl": { "h": 221, "s": 47, "l": 17 }, + "rgb": { "r": 23, "g": 36, "b": 64 } + }, + "gradient": { + "angle": 160, + "start": { + "hsl": { "h": 206, "s": 16, "l": 40 }, + "rgb": { "r": 86, "g": 104, "b": 118 } + }, + "end": { + "hsl": { "h": 219, "s": 28, "l": 12 }, + "rgb": { "r": 22, "g": 28, "b": 39 } + } + }, + "image": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + }, + "video": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + } + }, + "opacity": { "general": 100 }, + "layout": { + "color": { + "by": "theme", + "blur": 0, + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 0 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 40 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 0, "opacity": 100 } + }, + "group": { "openAll": { "opacity": 40 } }, + "toolbar": { "opacity": 0 }, + "style": "dark", + "radius": 50, + "shadow": 125, + "shade": { "opacity": 10, "blur": 0 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false, + "autoSuggest": false + }, + "bookmark": [ + { + "name": { "text": "Cool stuff", "show": false }, + "openAll": { "show": false }, + "items": [ + { + "url": "https://zombiefox.github.io/awesomeSheet/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "awesomeSheet", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "AS" }, + "icon": { + "name": "dice-d20", + "prefix": "fas", + "label": "Dice D20" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297988913 + }, + { + "url": "https://www.amazon.co.uk/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Amazon", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "AZ" }, + "icon": { "name": "amazon", "prefix": "fab", "label": "Amazon" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297999213 + }, + { + "url": "https://mail.google.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Gmail", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "GM" }, + "icon": { + "name": "envelope", + "prefix": "fas", + "label": "Envelope" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298011293 + }, + { + "url": "https://www.reddit.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Reddit", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "R" }, + "icon": { + "name": "reddit-alien", + "prefix": "fab", + "label": "reddit Alien" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 75, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628355887802.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": true }, + "timestamp": 1626298017175 + }, + { + "url": "https://github.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Github", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "GIT" }, + "icon": { "name": "github", "prefix": "fab", "label": "GitHub" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 50, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628355882811.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": true, "tall": false }, + "timestamp": 1626298038470 + }, + { + "url": "https://www.netflix.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Netflix", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "N" }, + "icon": { "name": "film", "prefix": "fas", "label": "Film" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298022303 + }, + { + "url": "https://drive.google.com/drive/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Drive", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "DR" }, + "icon": { + "name": "google-drive", + "prefix": "fab", + "label": "Drive" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298028996 + }, + { + "url": "https://devdocs.io/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Devdocs", "size": 7 }, + "visual": { + "show": true, + "type": "letter", + "size": 25, + "letter": { "text": "DEV" }, + "icon": { "name": "code", "prefix": "fas", "label": "Code" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298034209 + } + ] + } + ] +} diff --git a/asset/screenshot/screenshot-007.png b/asset/screenshot/screenshot-007.png index 9927e88d..97a52e28 100644 Binary files a/asset/screenshot/screenshot-007.png and b/asset/screenshot/screenshot-007.png differ diff --git a/asset/screenshot/screenshot-008.json b/asset/screenshot/screenshot-008.json index 5974107b..fbbec25e 100644 --- a/asset/screenshot/screenshot-008.json +++ b/asset/screenshot/screenshot-008.json @@ -1 +1,569 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":80,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"bookmark-header","direction":"horizontal","size":100,"width":80,"padding":80,"gutter":20,"breakpoint":"md","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"center"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"number"},"minute":{"show":true,"display":"number"},"second":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"meridiem":{"show":false},"hour24":{"show":true},"size":260,"newLine":true},"date":{"day":{"show":true,"display":"word","weekStart":"monday","length":"long"},"date":{"show":true,"display":"number","ordinal":false},"month":{"show":true,"display":"word","length":"long","ordinal":true},"year":{"show":true,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":100,"newLine":true},"search":{"show":false,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":["clock","date","toolbar"],"edit":false},"bookmark":{"size":100,"url":{"show":true},"line":{"show":false},"shadow":{"show":false},"hoverScale":{"show":false},"orientation":"bottom","style":"block","newTab":false,"edit":false,"add":false,"show":true,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"header","position":"bottom-right","size":100,"accent":{"show":true},"add":{"show":true},"edit":{"show":true},"newLine":false},"theme":{"color":{"range":{"primary":{"h":212,"s":23}},"contrast":{"start":54,"end":100},"shades":14},"accent":{"hsl":{"h":210,"s":40,"l":30},"rgb":{"r":51,"g":85,"b":119},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Abel","weight":400,"style":"normal"},"ui":{"name":"Raleway","weight":400,"style":"normal"}},"background":{"type":"image","color":{"rgb":{"r":255,"g":255,"b":255},"hsl":{"h":0,"s":0,"l":0}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1626366863277.jpeg?raw=true","blur":0,"grayscale":0,"opacity":40,"scale":100,"accent":0,"vignette":{"opacity":0,"start":90,"end":70}},"video":{"url":"","blur":0,"grayscale":0,"opacity":50,"scale":100,"accent":0,"vignette":{"opacity":0,"start":90,"end":70}}},"opacity":{"general":0},"layout":{"color":{"by":"theme","blur":0,"opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":1}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":0}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":0,"opacity":0}},"group":{"openAll":{"opacity":0}},"toolbar":{"opacity":0},"style":"light","radius":0,"shadow":0,"shade":{"opacity":50,"blur":5},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false,"autoSuggest":false},"bookmark":[{"name":{"text":"Cool stuff","show":false},"openAll":{"show":false},"items":[{"url":"https://zombiefox.github.io/awesomeSheet/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"awesomeSheet","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"AS"},"icon":{"name":"dice-d20","prefix":"fas","label":"Dice D20"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297988913},{"url":"https://www.amazon.co.uk/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Amazon","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"AZ"},"icon":{"name":"amazon","prefix":"fab","label":"Amazon"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297999213},{"url":"https://mail.google.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Gmail","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"GM"},"icon":{"name":"envelope","prefix":"fas","label":"Envelope"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298011293},{"url":"https://www.reddit.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Reddit","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"R"},"icon":{"name":"reddit-alien","prefix":"fab","label":"reddit Alien"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298017175},{"url":"https://www.netflix.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Netflix","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"N"},"icon":{"name":"film","prefix":"fas","label":"Film"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298022303},{"url":"https://drive.google.com/drive/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Drive","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"DR"},"icon":{"name":"google-drive","prefix":"fab","label":"Drive"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298028996},{"url":"https://devdocs.io/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Devdocs","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"DEV"},"icon":{"name":"code","prefix":"fas","label":"Code"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298034209},{"url":"https://github.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Github","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"GIT"},"icon":{"name":"github","prefix":"fab","label":"GitHub"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298038470}]}]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 80, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "bookmark-header", + "direction": "horizontal", + "size": 100, + "width": 80, + "padding": 80, + "gutter": 20, + "breakpoint": "md", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "center" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": true, "display": "number" }, + "minute": { "show": true, "display": "number" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "meridiem": { "show": false }, + "hour24": { "show": true }, + "size": 260, + "newLine": true + }, + "date": { + "day": { + "show": true, + "display": "word", + "weekStart": "monday", + "length": "long" + }, + "date": { "show": true, "display": "number", "ordinal": false }, + "month": { + "show": true, + "display": "word", + "length": "long", + "ordinal": true + }, + "year": { "show": true, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 100, + "newLine": true + }, + "search": { + "show": false, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": ["clock", "date", "toolbar"], + "edit": false + }, + "bookmark": { + "size": 100, + "url": { "show": true }, + "line": { "show": false }, + "shadow": { "show": false }, + "hoverScale": { "show": false }, + "orientation": "bottom", + "style": "block", + "newTab": false, + "edit": false, + "add": false, + "show": true, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "header", + "position": "bottom-right", + "size": 100, + "accent": { "show": true }, + "add": { "show": true }, + "edit": { "show": true }, + "newLine": false + }, + "theme": { + "color": { + "range": { "primary": { "h": 212, "s": 23 } }, + "contrast": { "start": 54, "end": 100 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 210, "s": 40, "l": 30 }, + "rgb": { "r": 51, "g": 85, "b": 119 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { "name": "Abel", "weight": 400, "style": "normal" }, + "ui": { "name": "Raleway", "weight": 400, "style": "normal" } + }, + "background": { + "type": "image", + "color": { + "rgb": { "r": 255, "g": 255, "b": 255 }, + "hsl": { "h": 0, "s": 0, "l": 0 } + }, + "gradient": { + "angle": 160, + "start": { + "hsl": { "h": 206, "s": 16, "l": 40 }, + "rgb": { "r": 86, "g": 104, "b": 118 } + }, + "end": { + "hsl": { "h": 219, "s": 28, "l": 12 }, + "rgb": { "r": 22, "g": 28, "b": 39 } + } + }, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1626366863277.jpeg?raw=true", + "blur": 0, + "grayscale": 0, + "opacity": 40, + "scale": 100, + "accent": 0, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + }, + "video": { + "url": "", + "blur": 0, + "grayscale": 0, + "opacity": 50, + "scale": 100, + "accent": 0, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + } + }, + "opacity": { "general": 0 }, + "layout": { + "color": { + "by": "theme", + "blur": 0, + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 1 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 0 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 0, "opacity": 0 } + }, + "group": { "openAll": { "opacity": 0 } }, + "toolbar": { "opacity": 0 }, + "style": "light", + "radius": 0, + "shadow": 0, + "shade": { "opacity": 50, "blur": 5 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false, + "autoSuggest": false + }, + "bookmark": [ + { + "name": { "text": "Cool stuff", "show": false }, + "openAll": { "show": false }, + "items": [ + { + "url": "https://zombiefox.github.io/awesomeSheet/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "awesomeSheet", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "AS" }, + "icon": { + "name": "dice-d20", + "prefix": "fas", + "label": "Dice D20" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297988913 + }, + { + "url": "https://www.amazon.co.uk/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Amazon", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "AZ" }, + "icon": { "name": "amazon", "prefix": "fab", "label": "Amazon" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297999213 + }, + { + "url": "https://mail.google.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Gmail", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "GM" }, + "icon": { + "name": "envelope", + "prefix": "fas", + "label": "Envelope" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298011293 + }, + { + "url": "https://www.reddit.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Reddit", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "R" }, + "icon": { + "name": "reddit-alien", + "prefix": "fab", + "label": "reddit Alien" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298017175 + }, + { + "url": "https://www.netflix.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Netflix", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "N" }, + "icon": { "name": "film", "prefix": "fas", "label": "Film" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298022303 + }, + { + "url": "https://drive.google.com/drive/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Drive", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "DR" }, + "icon": { + "name": "google-drive", + "prefix": "fab", + "label": "Drive" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298028996 + }, + { + "url": "https://devdocs.io/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Devdocs", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "DEV" }, + "icon": { "name": "code", "prefix": "fas", "label": "Code" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298034209 + }, + { + "url": "https://github.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Github", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "GIT" }, + "icon": { "name": "github", "prefix": "fab", "label": "GitHub" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298038470 + } + ] + } + ] +} diff --git a/asset/screenshot/screenshot-008.png b/asset/screenshot/screenshot-008.png index 567e4261..5d9cbe06 100644 Binary files a/asset/screenshot/screenshot-008.png and b/asset/screenshot/screenshot-008.png differ diff --git a/asset/screenshot/screenshot-009.gif b/asset/screenshot/screenshot-009.gif index 4b29ac12..4a07a359 100644 Binary files a/asset/screenshot/screenshot-009.gif and b/asset/screenshot/screenshot-009.gif differ diff --git a/asset/screenshot/screenshot-009.json b/asset/screenshot/screenshot-009.json index d03a1492..669a464d 100644 --- a/asset/screenshot/screenshot-009.json +++ b/asset/screenshot/screenshot-009.json @@ -1 +1,210 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":100,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"header-bookmark","direction":"vertical","size":100,"width":100,"padding":40,"gutter":20,"breakpoint":"xs","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"right"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"number"},"minute":{"show":true,"display":"number"},"second":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"meridiem":{"show":false},"hour24":{"show":true},"size":100,"newLine":false},"date":{"day":{"show":true,"display":"word","weekStart":"monday","length":"long"},"date":{"show":true,"display":"number","ordinal":true},"month":{"show":true,"display":"word","length":"long","ordinal":true},"year":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":100,"newLine":false},"search":{"show":false,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":["clock","date","toolbar"],"edit":false},"bookmark":{"size":100,"url":{"show":true},"line":{"show":true},"shadow":{"show":true},"hoverScale":{"show":true},"orientation":"bottom","style":"block","newTab":false,"edit":false,"add":false,"show":false,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"header","position":"bottom-right","size":100,"accent":{"show":false},"add":{"show":false},"edit":{"show":false},"newLine":false},"theme":{"color":{"range":{"primary":{"h":200,"s":27}},"contrast":{"start":11,"end":77},"shades":14},"accent":{"hsl":{"h":180,"s":100,"l":50},"rgb":{"r":0,"g":255,"b":255},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Unica One","weight":400,"style":"normal"},"ui":{"name":"Inria Sans","weight":400,"style":"normal"}},"background":{"type":"video","color":{"rgb":{"r":0,"g":0,"b":0},"hsl":{"h":0,"s":0,"l":0}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":10,"opacity":60,"vignette":{"opacity":0,"start":90,"end":70}},"video":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342605376.mp4?raw=true","blur":0,"grayscale":0,"scale":100,"accent":20,"opacity":80,"vignette":{"opacity":70,"start":90,"end":25}}},"opacity":{"general":0},"layout":{"color":{"by":"custom","blur":60,"opacity":15,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":1}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":0}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":0,"opacity":0}},"group":{"openAll":{"opacity":0}},"toolbar":{"opacity":0},"style":"dark","radius":25,"shadow":50,"shade":{"opacity":2,"blur":0},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false,"autoSuggest":false},"bookmark":[]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 100, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "header-bookmark", + "direction": "vertical", + "size": 100, + "width": 100, + "padding": 40, + "gutter": 20, + "breakpoint": "xs", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "right" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": true, "display": "number" }, + "minute": { "show": true, "display": "number" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "meridiem": { "show": false }, + "hour24": { "show": true }, + "size": 100, + "newLine": false + }, + "date": { + "day": { + "show": true, + "display": "word", + "weekStart": "monday", + "length": "long" + }, + "date": { "show": true, "display": "number", "ordinal": true }, + "month": { + "show": true, + "display": "word", + "length": "long", + "ordinal": true + }, + "year": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 100, + "newLine": false + }, + "search": { + "show": false, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": ["clock", "date", "toolbar"], + "edit": false + }, + "bookmark": { + "size": 100, + "url": { "show": true }, + "line": { "show": true }, + "shadow": { "show": true }, + "hoverScale": { "show": true }, + "orientation": "bottom", + "style": "block", + "newTab": false, + "edit": false, + "add": false, + "show": false, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "header", + "position": "bottom-right", + "size": 100, + "accent": { "show": false }, + "add": { "show": false }, + "edit": { "show": false }, + "newLine": false + }, + "theme": { + "color": { + "range": { "primary": { "h": 200, "s": 27 } }, + "contrast": { "start": 11, "end": 77 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 180, "s": 100, "l": 50 }, + "rgb": { "r": 0, "g": 255, "b": 255 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { "name": "Unica One", "weight": 400, "style": "normal" }, + "ui": { "name": "Inria Sans", "weight": 400, "style": "normal" } + }, + "background": { + "type": "video", + "color": { + "rgb": { "r": 0, "g": 0, "b": 0 }, + "hsl": { "h": 0, "s": 0, "l": 0 } + }, + "gradient": { + "angle": 160, + "start": { + "hsl": { "h": 206, "s": 16, "l": 40 }, + "rgb": { "r": 86, "g": 104, "b": 118 } + }, + "end": { + "hsl": { "h": 219, "s": 28, "l": 12 }, + "rgb": { "r": 22, "g": 28, "b": 39 } + } + }, + "image": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 10, + "opacity": 60, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + }, + "video": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342605376.mp4?raw=true", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 20, + "opacity": 80, + "vignette": { "opacity": 70, "start": 90, "end": 25 } + } + }, + "opacity": { "general": 0 }, + "layout": { + "color": { + "by": "custom", + "blur": 60, + "opacity": 15, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 1 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 0 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 0, "opacity": 0 } + }, + "group": { "openAll": { "opacity": 0 } }, + "toolbar": { "opacity": 0 }, + "style": "dark", + "radius": 25, + "shadow": 50, + "shade": { "opacity": 2, "blur": 0 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false, + "autoSuggest": false + }, + "bookmark": [] +} diff --git a/asset/screenshot/screenshot-009.png b/asset/screenshot/screenshot-009.png index 607d2dd7..3b096b5f 100644 Binary files a/asset/screenshot/screenshot-009.png and b/asset/screenshot/screenshot-009.png differ diff --git a/asset/screenshot/screenshot-010.json b/asset/screenshot/screenshot-010.json index ba1bd22c..4340407d 100644 --- a/asset/screenshot/screenshot-010.json +++ b/asset/screenshot/screenshot-010.json @@ -1 +1,568 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":100,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"bookmark-header","direction":"vertical","size":100,"width":70,"padding":40,"gutter":20,"breakpoint":"xl","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"left"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":false,"display":"number"},"minute":{"show":false,"display":"number"},"second":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"meridiem":{"show":false},"hour24":{"show":true},"size":100,"newLine":false},"date":{"day":{"show":false,"display":"word","weekStart":"monday","length":"long"},"date":{"show":false,"display":"number","ordinal":true},"month":{"show":false,"display":"word","length":"long","ordinal":true},"year":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":100,"newLine":false},"search":{"show":false,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":[],"edit":false},"bookmark":{"size":100,"url":{"show":true},"line":{"show":false},"shadow":{"show":false},"hoverScale":{"show":false},"orientation":"bottom","style":"block","newTab":false,"edit":false,"add":false,"show":true,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"corner","position":"bottom-right","size":100,"accent":{"show":false},"add":{"show":true},"edit":{"show":true},"newLine":false},"theme":{"color":{"range":{"primary":{"h":222,"s":14}},"contrast":{"start":8,"end":88},"shades":14},"accent":{"hsl":{"h":30,"s":100,"l":50},"rgb":{"r":255,"g":128,"b":0},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Fira Sans","weight":400,"style":"normal"},"ui":{"name":"Noto Sans","weight":400,"style":"normal"}},"background":{"type":"image","color":{"hsl":{"h":221,"s":47,"l":17},"rgb":{"r":23,"g":36,"b":64}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1626472271306.jpeg?raw=true","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":20,"vignette":{"opacity":20,"start":90,"end":40}},"video":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}}},"opacity":{"general":0},"layout":{"color":{"by":"theme","blur":0,"opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":0}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":0}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":1,"opacity":0}},"group":{"openAll":{"opacity":0}},"toolbar":{"opacity":0},"style":"dark","radius":50,"shadow":75,"shade":{"opacity":0,"blur":10},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false},"bookmark":[{"name":{"text":"Cool stuff","show":false},"openAll":{"show":false},"items":[{"url":"https://devdocs.io/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Devdocs","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"DEV"},"icon":{"name":"code","prefix":"fas","label":"Code"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":203,"s":100,"l":60},"rgb":{"r":51,"g":177,"b":255}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1626298034209},{"url":"https://www.reddit.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Reddit","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"R"},"icon":{"name":"reddit-alien","prefix":"fab","label":"reddit Alien"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":25,"s":100,"l":50},"rgb":{"r":255,"g":106,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":true,"tall":false},"timestamp":1626298017175},{"url":"https://github.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Github","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"GIT"},"icon":{"name":"github","prefix":"fab","label":"GitHub"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":0,"s":0,"l":100},"rgb":{"r":255,"g":255,"b":255}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":true},"timestamp":1626298038470},{"url":"https://zombiefox.github.io/awesomeSheet/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"awesomeSheet","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"AS"},"icon":{"name":"dice-d20","prefix":"fas","label":"Dice D20"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":227,"s":52,"l":41},"rgb":{"r":50,"g":74,"b":159}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1626297988913},{"url":"https://www.amazon.co.uk/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Amazon","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"AZ"},"icon":{"name":"amazon","prefix":"fab","label":"Amazon"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":46,"s":100,"l":50},"rgb":{"r":255,"g":195,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1626297999213},{"url":"https://www.netflix.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Netflix","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"N"},"icon":{"name":"film","prefix":"fas","label":"Film"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":9,"s":100,"l":40},"rgb":{"r":204,"g":31,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1626298022303},{"url":"https://drive.google.com/drive/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Drive","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"DR"},"icon":{"name":"google-drive","prefix":"fab","label":"Drive"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":151,"s":100,"l":38},"rgb":{"r":0,"g":194,"b":100}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1626298028996},{"url":"https://mail.google.com/","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Gmail","size":7},"visual":{"show":true,"type":"icon","size":25,"letter":{"text":"GM"},"icon":{"name":"envelope","prefix":"fas","label":"Envelope"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":0,"s":100,"l":53},"rgb":{"r":255,"g":15,"b":15}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":0},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1626298011293}]}]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 100, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "bookmark-header", + "direction": "vertical", + "size": 100, + "width": 70, + "padding": 40, + "gutter": 20, + "breakpoint": "xl", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "left" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": false, "display": "number" }, + "minute": { "show": false, "display": "number" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "meridiem": { "show": false }, + "hour24": { "show": true }, + "size": 100, + "newLine": false + }, + "date": { + "day": { + "show": false, + "display": "word", + "weekStart": "monday", + "length": "long" + }, + "date": { "show": false, "display": "number", "ordinal": true }, + "month": { + "show": false, + "display": "word", + "length": "long", + "ordinal": true + }, + "year": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 100, + "newLine": false + }, + "search": { + "show": false, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": [], + "edit": false + }, + "bookmark": { + "size": 100, + "url": { "show": true }, + "line": { "show": false }, + "shadow": { "show": false }, + "hoverScale": { "show": false }, + "orientation": "bottom", + "style": "block", + "newTab": false, + "edit": false, + "add": false, + "show": true, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "corner", + "position": "bottom-right", + "size": 100, + "accent": { "show": false }, + "add": { "show": true }, + "edit": { "show": true }, + "newLine": false + }, + "theme": { + "color": { + "range": { "primary": { "h": 222, "s": 14 } }, + "contrast": { "start": 8, "end": 88 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 30, "s": 100, "l": 50 }, + "rgb": { "r": 255, "g": 128, "b": 0 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { "name": "Fira Sans", "weight": 400, "style": "normal" }, + "ui": { "name": "Noto Sans", "weight": 400, "style": "normal" } + }, + "background": { + "type": "image", + "color": { + "hsl": { "h": 221, "s": 47, "l": 17 }, + "rgb": { "r": 23, "g": 36, "b": 64 } + }, + "gradient": { + "angle": 160, + "start": { + "hsl": { "h": 206, "s": 16, "l": 40 }, + "rgb": { "r": 86, "g": 104, "b": 118 } + }, + "end": { + "hsl": { "h": 219, "s": 28, "l": 12 }, + "rgb": { "r": 22, "g": 28, "b": 39 } + } + }, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1626472271306.jpeg?raw=true", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 20, + "vignette": { "opacity": 20, "start": 90, "end": 40 } + }, + "video": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + } + }, + "opacity": { "general": 0 }, + "layout": { + "color": { + "by": "theme", + "blur": 0, + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 0 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 0 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 1, "opacity": 0 } + }, + "group": { "openAll": { "opacity": 0 } }, + "toolbar": { "opacity": 0 }, + "style": "dark", + "radius": 50, + "shadow": 75, + "shade": { "opacity": 0, "blur": 10 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false + }, + "bookmark": [ + { + "name": { "text": "Cool stuff", "show": false }, + "openAll": { "show": false }, + "items": [ + { + "url": "https://devdocs.io/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Devdocs", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "DEV" }, + "icon": { "name": "code", "prefix": "fas", "label": "Code" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "custom", + "hsl": { "h": 203, "s": 100, "l": 60 }, + "rgb": { "r": 51, "g": 177, "b": 255 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 1, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298034209 + }, + { + "url": "https://www.reddit.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Reddit", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "R" }, + "icon": { + "name": "reddit-alien", + "prefix": "fab", + "label": "reddit Alien" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "custom", + "hsl": { "h": 25, "s": 100, "l": 50 }, + "rgb": { "r": 255, "g": 106, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 1, + "shape": { "wide": true, "tall": false }, + "timestamp": 1626298017175 + }, + { + "url": "https://github.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Github", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "GIT" }, + "icon": { "name": "github", "prefix": "fab", "label": "GitHub" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "custom", + "hsl": { "h": 0, "s": 0, "l": 100 }, + "rgb": { "r": 255, "g": 255, "b": 255 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 1, + "shape": { "wide": false, "tall": true }, + "timestamp": 1626298038470 + }, + { + "url": "https://zombiefox.github.io/awesomeSheet/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "awesomeSheet", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "AS" }, + "icon": { + "name": "dice-d20", + "prefix": "fas", + "label": "Dice D20" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "custom", + "hsl": { "h": 227, "s": 52, "l": 41 }, + "rgb": { "r": 50, "g": 74, "b": 159 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 1, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297988913 + }, + { + "url": "https://www.amazon.co.uk/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Amazon", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "AZ" }, + "icon": { "name": "amazon", "prefix": "fab", "label": "Amazon" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "custom", + "hsl": { "h": 46, "s": 100, "l": 50 }, + "rgb": { "r": 255, "g": 195, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 1, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297999213 + }, + { + "url": "https://www.netflix.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Netflix", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "N" }, + "icon": { "name": "film", "prefix": "fas", "label": "Film" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "custom", + "hsl": { "h": 9, "s": 100, "l": 40 }, + "rgb": { "r": 204, "g": 31, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 1, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298022303 + }, + { + "url": "https://drive.google.com/drive/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Drive", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "DR" }, + "icon": { + "name": "google-drive", + "prefix": "fab", + "label": "Drive" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "custom", + "hsl": { "h": 151, "s": 100, "l": 38 }, + "rgb": { "r": 0, "g": 194, "b": 100 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 1, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298028996 + }, + { + "url": "https://mail.google.com/", + "display": { + "alignment": "center-center", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Gmail", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 25, + "letter": { "text": "GM" }, + "icon": { + "name": "envelope", + "prefix": "fas", + "label": "Envelope" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "custom", + "hsl": { "h": 0, "s": 100, "l": 53 }, + "rgb": { "r": 255, "g": 15, "b": 15 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 0 + }, + "background": { + "show": false, + "type": "image", + "opacity": 100, + "image": { "url": "" }, + "video": { "url": "" } + }, + "border": 1, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298011293 + } + ] + } + ] +} diff --git a/asset/screenshot/screenshot-010.png b/asset/screenshot/screenshot-010.png index eb38a2ac..704bd1e5 100644 Binary files a/asset/screenshot/screenshot-010.png and b/asset/screenshot/screenshot-010.png differ diff --git a/asset/screenshot/screenshot-011.json b/asset/screenshot/screenshot-011.json index 1ca2e597..5a1dacb9 100644 --- a/asset/screenshot/screenshot-011.json +++ b/asset/screenshot/screenshot-011.json @@ -1 +1,585 @@ -{"nightTab":true,"version":"7.0.0","state":{"layout":{"area":{"header":{"width":100,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"bookmark-header","direction":"vertical","size":100,"width":80,"padding":40,"gutter":20,"breakpoint":"xl","scrollbar":"auto","title":"","overscroll":false},"header":{"item":{"justify":"left"},"greeting":{"show":false,"type":"good","custom":"","name":"","size":100,"newLine":false},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"number"},"minute":{"show":true,"display":"number"},"second":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"meridiem":{"show":false},"hour24":{"show":true},"size":100,"newLine":false},"date":{"day":{"show":true,"display":"word","weekStart":"monday","length":"long"},"date":{"show":true,"display":"number","ordinal":true},"month":{"show":true,"display":"word","length":"long","ordinal":true},"year":{"show":false,"display":"number"},"separator":{"show":true,"text":""},"format":"date-month","size":100,"newLine":false},"search":{"show":true,"width":{"by":"auto","size":30},"focus":false,"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":100,"newLine":false,"newTab":false},"order":["clock","date","search","toolbar"],"edit":false},"bookmark":{"size":115,"url":{"show":false},"line":{"show":false},"shadow":{"show":true},"hoverScale":{"show":true},"orientation":"bottom","style":"block","newTab":false,"edit":false,"add":false,"show":true,"item":{}},"group":{"area":{"justify":"left"},"name":{"size":100},"order":"header-body","openAll":{"size":100},"edit":false,"add":false},"toolbar":{"location":"header","position":"bottom-right","size":100,"accent":{"show":true},"add":{"show":true},"edit":{"show":true},"newLine":false},"theme":{"color":{"range":{"primary":{"h":186,"s":4}},"contrast":{"start":19,"end":80},"shades":14},"accent":{"hsl":{"h":0,"s":0,"l":100},"rgb":{"r":255,"g":255,"b":255},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Abel","weight":400,"style":"normal"},"ui":{"name":"Raleway","weight":400,"style":"normal"}},"background":{"type":"theme","color":{"hsl":{"h":221,"s":47,"l":17},"rgb":{"r":23,"g":36,"b":64}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}},"video":{"url":"","blur":0,"grayscale":0,"scale":100,"accent":0,"opacity":100,"vignette":{"opacity":0,"start":90,"end":70}}},"opacity":{"general":100},"layout":{"color":{"by":"theme","blur":0,"opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"divider":{"size":0}},"header":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":100}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":0,"opacity":100}},"group":{"openAll":{"opacity":100}},"toolbar":{"opacity":100},"style":"dark","radius":30,"shadow":250,"shade":{"opacity":30,"blur":0},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":false,"autoSuggest":false},"bookmark":[{"name":{"text":"Cool stuff","show":false},"openAll":{"show":false},"items":[{"url":"https://www.reddit.com/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Reddit","size":7},"visual":{"show":true,"type":"icon","size":18,"letter":{"text":"R"},"icon":{"name":"reddit-alien","prefix":"fab","label":"reddit Alien"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":100,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356476895.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":true,"tall":false},"timestamp":1626298017175},{"url":"https://devdocs.io/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Devdocs","size":7},"visual":{"show":true,"type":"icon","size":18,"letter":{"text":"DEV"},"icon":{"name":"code","prefix":"fas","label":"Code"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":100,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356473243.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298034209},{"url":"https://github.com/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Github","size":7},"visual":{"show":true,"type":"icon","size":18,"letter":{"text":"GIT"},"icon":{"name":"github","prefix":"fab","label":"GitHub"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":100,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356480756.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":true},"timestamp":1626298038470},{"url":"https://www.amazon.co.uk/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Amazon","size":7},"visual":{"show":true,"type":"icon","size":18,"letter":{"text":"AZ"},"icon":{"name":"amazon","prefix":"fab","label":"Amazon"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":100,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356484751.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297999213},{"url":"https://zombiefox.github.io/awesomeSheet/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"awesomeSheet","size":7},"visual":{"show":true,"type":"icon","size":18,"letter":{"text":"AS"},"icon":{"name":"dice-d20","prefix":"fas","label":"Dice D20"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":100,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356492462.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626297988913},{"url":"https://mail.google.com/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Gmail","size":7},"visual":{"show":true,"type":"icon","size":18,"letter":{"text":"GM"},"icon":{"name":"envelope","prefix":"fas","label":"Envelope"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":100,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356467972.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298011293},{"url":"https://drive.google.com/drive/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Drive","size":7},"visual":{"show":true,"type":"icon","size":18,"letter":{"text":"DR"},"icon":{"name":"google-drive","prefix":"fab","label":"Drive"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":100,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356488371.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298028996},{"url":"https://www.netflix.com/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":false,"text":"Netflix","size":7},"visual":{"show":true,"type":"icon","size":18,"letter":{"text":"N"},"icon":{"name":"film","prefix":"fas","label":"Film"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":100},"background":{"show":true,"type":"image","opacity":100,"image":{"url":"https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356462367.jpeg?raw=true"},"video":{"url":""}},"border":0,"shape":{"wide":false,"tall":false},"timestamp":1626298022303}]}]} +{ + "nightTab": true, + "version": "7.0.0", + "state": { + "layout": { + "area": { + "header": { "width": 100, "justify": "center" }, + "bookmark": { "width": 100, "justify": "center" } + }, + "alignment": "center-center", + "order": "bookmark-header", + "direction": "vertical", + "size": 100, + "width": 80, + "padding": 40, + "gutter": 20, + "breakpoint": "xl", + "scrollbar": "auto", + "title": "", + "overscroll": false + }, + "header": { + "item": { "justify": "left" }, + "greeting": { + "show": false, + "type": "good", + "custom": "", + "name": "", + "size": 100, + "newLine": false + }, + "transitional": { + "show": false, + "type": "time-and-date", + "size": 100, + "newLine": false + }, + "clock": { + "hour": { "show": true, "display": "number" }, + "minute": { "show": true, "display": "number" }, + "second": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "meridiem": { "show": false }, + "hour24": { "show": true }, + "size": 100, + "newLine": false + }, + "date": { + "day": { + "show": true, + "display": "word", + "weekStart": "monday", + "length": "long" + }, + "date": { "show": true, "display": "number", "ordinal": true }, + "month": { + "show": true, + "display": "word", + "length": "long", + "ordinal": true + }, + "year": { "show": false, "display": "number" }, + "separator": { "show": true, "text": "" }, + "format": "date-month", + "size": 100, + "newLine": false + }, + "search": { + "show": true, + "width": { "by": "auto", "size": 30 }, + "focus": false, + "engine": { + "selected": "google", + "custom": { "name": "", "url": "", "queryName": "" } + }, + "text": { "justify": "center" }, + "size": 100, + "newLine": false, + "newTab": false + }, + "order": ["clock", "date", "search", "toolbar"], + "edit": false + }, + "bookmark": { + "size": 115, + "url": { "show": false }, + "line": { "show": false }, + "shadow": { "show": true }, + "hoverScale": { "show": true }, + "orientation": "bottom", + "style": "block", + "newTab": false, + "edit": false, + "add": false, + "show": true, + "item": {} + }, + "group": { + "area": { "justify": "left" }, + "name": { "size": 100 }, + "order": "header-body", + "openAll": { "size": 100 }, + "edit": false, + "add": false + }, + "toolbar": { + "location": "header", + "position": "bottom-right", + "size": 100, + "accent": { "show": true }, + "add": { "show": true }, + "edit": { "show": true }, + "newLine": false + }, + "theme": { + "color": { + "range": { "primary": { "h": 186, "s": 4 } }, + "contrast": { "start": 19, "end": 80 }, + "shades": 14 + }, + "accent": { + "hsl": { "h": 0, "s": 0, "l": 100 }, + "rgb": { "r": 255, "g": 255, "b": 255 }, + "random": { "active": false, "style": "any" }, + "cycle": { "active": false, "speed": 300, "step": 10 } + }, + "font": { + "display": { "name": "Abel", "weight": 400, "style": "normal" }, + "ui": { "name": "Raleway", "weight": 400, "style": "normal" } + }, + "background": { + "type": "theme", + "color": { + "hsl": { "h": 221, "s": 47, "l": 17 }, + "rgb": { "r": 23, "g": 36, "b": 64 } + }, + "gradient": { + "angle": 160, + "start": { + "hsl": { "h": 206, "s": 16, "l": 40 }, + "rgb": { "r": 86, "g": 104, "b": 118 } + }, + "end": { + "hsl": { "h": 219, "s": 28, "l": 12 }, + "rgb": { "r": 22, "g": 28, "b": 39 } + } + }, + "image": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + }, + "video": { + "url": "", + "blur": 0, + "grayscale": 0, + "scale": 100, + "accent": 0, + "opacity": 100, + "vignette": { "opacity": 0, "start": 90, "end": 70 } + } + }, + "opacity": { "general": 100 }, + "layout": { + "color": { + "by": "theme", + "blur": 0, + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "divider": { "size": 0 } + }, + "header": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "search": { "opacity": 100 } + }, + "bookmark": { + "color": { + "by": "theme", + "opacity": 10, + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "item": { "border": 0, "opacity": 100 } + }, + "group": { "openAll": { "opacity": 100 } }, + "toolbar": { "opacity": 100 }, + "style": "dark", + "radius": 30, + "shadow": 250, + "shade": { "opacity": 30, "blur": 0 }, + "custom": { "all": [], "edit": false } + }, + "search": false, + "modal": false, + "menu": false, + "autoSuggest": false + }, + "bookmark": [ + { + "name": { "text": "Cool stuff", "show": false }, + "openAll": { "show": false }, + "items": [ + { + "url": "https://www.reddit.com/", + "display": { + "alignment": "bottom-left", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Reddit", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 18, + "letter": { "text": "R" }, + "icon": { + "name": "reddit-alien", + "prefix": "fab", + "label": "reddit Alien" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 100, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356476895.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": true, "tall": false }, + "timestamp": 1626298017175 + }, + { + "url": "https://devdocs.io/", + "display": { + "alignment": "bottom-left", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Devdocs", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 18, + "letter": { "text": "DEV" }, + "icon": { "name": "code", "prefix": "fas", "label": "Code" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 100, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356473243.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298034209 + }, + { + "url": "https://github.com/", + "display": { + "alignment": "bottom-left", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Github", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 18, + "letter": { "text": "GIT" }, + "icon": { "name": "github", "prefix": "fab", "label": "GitHub" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 100, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356480756.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": true }, + "timestamp": 1626298038470 + }, + { + "url": "https://www.amazon.co.uk/", + "display": { + "alignment": "bottom-left", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Amazon", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 18, + "letter": { "text": "AZ" }, + "icon": { "name": "amazon", "prefix": "fab", "label": "Amazon" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 100, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356484751.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297999213 + }, + { + "url": "https://zombiefox.github.io/awesomeSheet/", + "display": { + "alignment": "bottom-left", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "awesomeSheet", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 18, + "letter": { "text": "AS" }, + "icon": { + "name": "dice-d20", + "prefix": "fas", + "label": "Dice D20" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 100, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356492462.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626297988913 + }, + { + "url": "https://mail.google.com/", + "display": { + "alignment": "bottom-left", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Gmail", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 18, + "letter": { "text": "GM" }, + "icon": { + "name": "envelope", + "prefix": "fas", + "label": "Envelope" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 100, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356467972.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298011293 + }, + { + "url": "https://drive.google.com/drive/", + "display": { + "alignment": "bottom-left", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Drive", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 18, + "letter": { "text": "DR" }, + "icon": { + "name": "google-drive", + "prefix": "fab", + "label": "Drive" + }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 100, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356488371.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298028996 + }, + { + "url": "https://www.netflix.com/", + "display": { + "alignment": "bottom-left", + "direction": "vertical", + "order": "visual-name", + "rotate": 0, + "translate": { "x": 0, "y": 0 }, + "gutter": 25, + "name": { "show": false, "text": "Netflix", "size": 7 }, + "visual": { + "show": true, + "type": "icon", + "size": 18, + "letter": { "text": "N" }, + "icon": { "name": "film", "prefix": "fas", "label": "Film" }, + "image": { "url": "" }, + "shadow": { "size": 0 } + } + }, + "accent": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 } + }, + "color": { + "by": "theme", + "hsl": { "h": 0, "s": 0, "l": 0 }, + "rgb": { "r": 0, "g": 0, "b": 0 }, + "opacity": 100 + }, + "background": { + "show": true, + "type": "image", + "opacity": 100, + "image": { + "url": "https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356462367.jpeg?raw=true" + }, + "video": { "url": "" } + }, + "border": 0, + "shape": { "wide": false, "tall": false }, + "timestamp": 1626298022303 + } + ] + } + ] +} diff --git a/asset/screenshot/screenshot-011.png b/asset/screenshot/screenshot-011.png index 89116138..56beec82 100644 Binary files a/asset/screenshot/screenshot-011.png and b/asset/screenshot/screenshot-011.png differ diff --git a/babel.config.js b/babel.config.js index d19d38b9..dd242dc9 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,6 +1,6 @@ module.exports = { presets: [ - ['@babel/preset-env', { targets: { node: 'current' } }], - '@babel/preset-typescript', + ["@babel/preset-env", { targets: { node: "current" } }], + "@babel/preset-typescript", ], -}; \ No newline at end of file +}; diff --git a/code_of_conduct.md b/code_of_conduct.md index 7c06630e..73e8b637 100644 --- a/code_of_conduct.md +++ b/code_of_conduct.md @@ -17,23 +17,23 @@ diverse, inclusive, and healthy community. Examples of behavior that contributes to a positive environment for our community include: -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience -* Focusing on what is best not just for us as individuals, but for the +- Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: -* The use of sexualized language or imagery, and sexual attention or +- The use of sexualized language or imagery, and sexual attention or advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities @@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban. ### 4. Permanent Ban **Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an +standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. **Consequence**: A permanent ban from any sort of public interaction within diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 3755e5bf..00000000 --- a/package-lock.json +++ /dev/null @@ -1,21781 +0,0 @@ -{ - "name": "nightTab", - "version": "7.5.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "nightTab", - "version": "7.5.0", - "license": "GPL-3", - "devDependencies": { - "@babel/preset-env": "^7.16.11", - "@babel/preset-typescript": "^7.16.7", - "@types/jest": "^27.4.0", - "@typescript-eslint/eslint-plugin": "^5.10.0", - "@typescript-eslint/parser": "^5.10.0", - "copy-webpack-plugin": "^10.2.1", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.4.1", - "eslint": "^8.7.0", - "eslint-plugin-jest": "^25.7.0", - "eslint-plugin-unused-imports": "^2.0.0", - "html-webpack-plugin": "^5.5.0", - "husky": "^7.0.4", - "jest": "^27.4.7", - "mini-css-extract-plugin": "^2.5.2", - "moment": "^2.29.1", - "sortablejs": "^1.14.0", - "style-loader": "^3.3.1", - "terser-webpack-plugin": "^5.3.0", - "ts-loader": "^9.2.6", - "typescript": "^4.5.5", - "webfontloader": "^1.6.28", - "webpack": "^5.66.0", - "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.7.3", - "webpack-merge": "^5.8.0", - "zip-webpack-plugin": "^4.0.1" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", - "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz", - "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.10", - "@babel/types": "^7.16.8", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz", - "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", - "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^4.7.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", - "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.10.tgz", - "integrity": "sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", - "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", - "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "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-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "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-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "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.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", - "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", - "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", - "dev": true, - "dependencies": { - "regenerator-transform": "^0.14.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", - "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-typescript": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@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-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", - "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-typescript": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz", - "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/types": "^7.16.8", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", - "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.2.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "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/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz", - "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.4.6", - "jest-util": "^27.4.2", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz", - "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==", - "dev": true, - "dependencies": { - "@jest/console": "^27.4.6", - "@jest/reporters": "^27.4.6", - "@jest/test-result": "^27.4.6", - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^27.4.2", - "jest-config": "^27.4.7", - "jest-haste-map": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.6", - "jest-resolve-dependencies": "^27.4.6", - "jest-runner": "^27.4.6", - "jest-runtime": "^27.4.6", - "jest-snapshot": "^27.4.6", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.6", - "jest-watcher": "^27.4.6", - "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/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz", - "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "jest-mock": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz", - "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.4.6", - "jest-mock": "^27.4.6", - "jest-util": "^27.4.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz", - "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.4.6", - "@jest/types": "^27.4.2", - "expect": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz", - "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.4.6", - "@jest/test-result": "^27.4.6", - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "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.4.6", - "jest-resolve": "^27.4.6", - "jest-util": "^27.4.2", - "jest-worker": "^27.4.6", - "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/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/source-map": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz", - "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz", - "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.4.6", - "@jest/types": "^27.4.2", - "@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.4.6", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz", - "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.4.6", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.4.6", - "jest-runtime": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz", - "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.4.2", - "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.4", - "jest-haste-map": "^27.4.6", - "jest-regex-util": "^27.4.0", - "jest-util": "^27.4.2", - "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/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", - "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", - "dev": true, - "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/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.18", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", - "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.0.tgz", - "integrity": "sha512-JUYa/5JwoqikCy7O7jKtuNe9Z4ZZt615G+1EKfaDGSNEpzaA2OwbV/G1v08Oa7fd1XzlFoSCvt9ePl9/6FyAug==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true - }, - "node_modules/@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz", - "integrity": "sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==", - "dev": true, - "dependencies": { - "jest-diff": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "node_modules/@types/node": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", - "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz", - "integrity": "sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "node_modules/@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", - "dev": true - }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz", - "integrity": "sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/type-utils": "5.10.0", - "@typescript-eslint/utils": "5.10.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.10.0.tgz", - "integrity": "sha512-GeQAPqQMI5DVMGOUwGbSR+NdsirryyKOgUFRTWInhlsKUArns/MVnXmPpzxfrzB1nU36cT5WJAwmfCsjoaVBWg==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.10.0" - }, - "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/@typescript-eslint/parser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.0.tgz", - "integrity": "sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/typescript-estree": "5.10.0", - "debug": "^4.3.2" - }, - "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" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz", - "integrity": "sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/visitor-keys": "5.10.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz", - "integrity": "sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.10.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.0.tgz", - "integrity": "sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz", - "integrity": "sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/visitor-keys": "5.10.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "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/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.0.tgz", - "integrity": "sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/typescript-estree": "5.10.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "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/@typescript-eslint/visitor-keys": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz", - "integrity": "sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "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/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/babel-jest": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz", - "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==", - "dev": true, - "dependencies": { - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.4.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "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-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "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.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz", - "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==", - "dev": true, - "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-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz", - "integrity": "sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.20.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "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.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz", - "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^27.4.0", - "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", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", - "dev": true, - "dependencies": { - "bytes": "3.1.1", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001301", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz", - "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/clean-css": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz", - "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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" - } - ] - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "node_modules/copy-webpack-plugin": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz", - "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^12.0.2", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 12.20.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "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/copy-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/copy-webpack-plugin/node_modules/array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "dependencies": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js-compat": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", - "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", - "dev": true, - "dependencies": { - "browserslist": "^4.19.1", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", - "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", - "dev": true, - "dependencies": { - "timsort": "^0.3.0" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", - "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "dev": true, - "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "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/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz", - "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==", - "dev": true, - "dependencies": { - "cssnano-preset-default": "^5.1.10", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.1.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz", - "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==", - "dev": true, - "dependencies": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^3.0.0", - "postcss-calc": "^8.2.0", - "postcss-colormin": "^5.2.3", - "postcss-convert-values": "^5.0.2", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.2", - "postcss-merge-longhand": "^5.0.4", - "postcss-merge-rules": "^5.0.4", - "postcss-minify-font-values": "^5.0.2", - "postcss-minify-gradients": "^5.0.4", - "postcss-minify-params": "^5.0.3", - "postcss-minify-selectors": "^5.1.1", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.2", - "postcss-normalize-positions": "^5.0.2", - "postcss-normalize-repeat-style": "^5.0.2", - "postcss-normalize-string": "^5.0.2", - "postcss-normalize-timing-functions": "^5.0.2", - "postcss-normalize-unicode": "^5.0.2", - "postcss-normalize-url": "^5.0.4", - "postcss-normalize-whitespace": "^5.0.2", - "postcss-ordered-values": "^5.0.3", - "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.2", - "postcss-svgo": "^5.0.3", - "postcss-unique-selectors": "^5.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz", - "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "node_modules/diff-sequences": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz", - "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.49", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz", - "integrity": "sha512-k/0t1TRfonHIp8TJKfjBu2cKj8MqYTiEpOhci+q7CVEE5xnCQnx1pTa+V8b/sdhe4S3PR4p4iceEQWhGrKQORQ==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz", - "integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.0.5", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "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.1.0", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.2.0", - "espree": "^9.3.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "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-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-unused-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz", - "integrity": "sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==", - "dev": true, - "dependencies": { - "eslint-rule-composer": "^0.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - } - } - }, - "node_modules/eslint-rule-composer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", - "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", - "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", - "dev": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/espree/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz", - "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "jest-get-type": "^27.4.0", - "jest-matcher-utils": "^27.4.6", - "jest-message-util": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", - "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", - "dev": true, - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.6", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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" - } - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "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-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "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": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "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/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", - "dev": true - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-minifier-terser/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/html-minifier-terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/html-minifier-terser/node_modules/terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "acorn": "^8.5.0" - }, - "peerDependenciesMeta": { - "acorn": { - "optional": true - } - } - }, - "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "dev": true, - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", - "dev": true - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", - "dev": true, - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "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-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "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-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", - "dev": true, - "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-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", - "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz", - "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==", - "dev": true, - "dependencies": { - "@jest/core": "^27.4.7", - "import-local": "^3.0.2", - "jest-cli": "^27.4.7" - }, - "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.4.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz", - "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "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.4.6", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz", - "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.4.6", - "@jest/test-result": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.4.6", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.4.6", - "jest-matcher-utils": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-runtime": "^27.4.6", - "jest-snapshot": "^27.4.6", - "jest-util": "^27.4.2", - "pretty-format": "^27.4.6", - "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-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz", - "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==", - "dev": true, - "dependencies": { - "@jest/core": "^27.4.7", - "@jest/test-result": "^27.4.6", - "@jest/types": "^27.4.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "jest-config": "^27.4.7", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.6", - "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-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz", - "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.4.6", - "@jest/types": "^27.4.2", - "babel-jest": "^27.4.6", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-circus": "^27.4.6", - "jest-environment-jsdom": "^27.4.6", - "jest-environment-node": "^27.4.6", - "jest-get-type": "^27.4.0", - "jest-jasmine2": "^27.4.6", - "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.6", - "jest-runner": "^27.4.6", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.6", - "micromatch": "^4.0.4", - "pretty-format": "^27.4.6", - "slash": "^3.0.0" - }, - "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-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz", - "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.4.0", - "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz", - "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==", - "dev": true, - "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.4.6", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz", - "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "chalk": "^4.0.0", - "jest-get-type": "^27.4.0", - "jest-util": "^27.4.2", - "pretty-format": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz", - "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.4.6", - "@jest/fake-timers": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "jest-mock": "^27.4.6", - "jest-util": "^27.4.2", - "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.4.6", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz", - "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.4.6", - "@jest/fake-timers": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "jest-mock": "^27.4.6", - "jest-util": "^27.4.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz", - "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz", - "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^27.4.0", - "jest-serializer": "^27.4.0", - "jest-util": "^27.4.2", - "jest-worker": "^27.4.6", - "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.4.6", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz", - "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.4.6", - "@jest/source-map": "^27.4.0", - "@jest/test-result": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.4.6", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.4.6", - "jest-matcher-utils": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-runtime": "^27.4.6", - "jest-snapshot": "^27.4.6", - "jest-util": "^27.4.2", - "pretty-format": "^27.4.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz", - "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz", - "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.4.6", - "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz", - "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.4.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "pretty-format": "^27.4.6", - "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-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz", - "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz", - "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz", - "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.4.6", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.6", - "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.4.6", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz", - "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "jest-regex-util": "^27.4.0", - "jest-snapshot": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz", - "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==", - "dev": true, - "dependencies": { - "@jest/console": "^27.4.6", - "@jest/environment": "^27.4.6", - "@jest/test-result": "^27.4.6", - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-docblock": "^27.4.0", - "jest-environment-jsdom": "^27.4.6", - "jest-environment-node": "^27.4.6", - "jest-haste-map": "^27.4.6", - "jest-leak-detector": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-resolve": "^27.4.6", - "jest-runtime": "^27.4.6", - "jest-util": "^27.4.2", - "jest-worker": "^27.4.6", - "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-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz", - "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.4.6", - "@jest/fake-timers": "^27.4.6", - "@jest/globals": "^27.4.6", - "@jest/source-map": "^27.4.0", - "@jest/test-result": "^27.4.6", - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "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.4", - "jest-haste-map": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-mock": "^27.4.6", - "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.6", - "jest-snapshot": "^27.4.6", - "jest-util": "^27.4.2", - "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-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz", - "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz", - "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==", - "dev": true, - "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.4.6", - "@jest/types": "^27.4.2", - "@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.4.6", - "graceful-fs": "^4.2.4", - "jest-diff": "^27.4.6", - "jest-get-type": "^27.4.0", - "jest-haste-map": "^27.4.6", - "jest-matcher-utils": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-util": "^27.4.2", - "natural-compare": "^1.4.0", - "pretty-format": "^27.4.6", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz", - "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.4", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz", - "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.4.2", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.4.0", - "leven": "^3.1.0", - "pretty-format": "^27.4.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz", - "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.4.2", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "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/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", - "dev": true, - "dependencies": { - "fs-monkey": "1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, - "dependencies": { - "mime-db": "1.51.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.2.tgz", - "integrity": "sha512-Lwgq9qLNyBK6yNLgzssXnq4r2+mB9Mz3cJWlM8kseysHIvTicFhDNimFgY94jjqlwhNzLPsq8wv4X+vOHtMdYA==", - "dev": true, - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "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/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-forge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", - "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "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.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", - "dev": true, - "dependencies": { - "@types/retry": "^0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", - "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, - "dependencies": { - "nanoid": "^3.1.30", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-calc": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz", - "integrity": "sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz", - "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", - "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz", - "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz", - "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz", - "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.0.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz", - "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz", - "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==", - "dev": true, - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz", - "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.6", - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz", - "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", - "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz", - "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz", - "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz", - "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", - "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz", - "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz", - "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==", - "dev": true, - "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz", - "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz", - "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==", - "dev": true, - "dependencies": { - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", - "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz", - "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", - "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz", - "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz", - "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", - "dev": true, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "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" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", - "dev": true, - "dependencies": { - "bytes": "3.1.1", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "node_modules/resolve": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.1.tgz", - "integrity": "sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.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", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "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" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "node_modules/selfsigned": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz", - "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==", - "dev": true, - "dependencies": { - "node-forge": "^1.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sortablejs": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", - "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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" - } - ] - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", - "dev": true, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", - "dev": true, - "dependencies": { - "jest-worker": "^27.4.1", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "acorn": "^8.5.0" - }, - "peerDependenciesMeta": { - "acorn": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-loader": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", - "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ts-loader/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/ts-loader/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ts-loader/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ts-loader/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-loader/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dev": true, - "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.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/webfontloader": { - "version": "1.6.28", - "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz", - "integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64=", - "dev": true - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", - "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.2.2", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "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/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", - "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/serve-index": "^1.9.1", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.2.2", - "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.2", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "default-gateway": "^6.0.3", - "del": "^6.0.0", - "express": "^4.17.1", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "schema-utils": "^4.0.0", - "selfsigned": "^2.0.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "webpack-dev-middleware": "^5.3.0", - "ws": "^8.1.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "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/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", - "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "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/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "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": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yazl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", - "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3" - } - }, - "node_modules/zip-webpack-plugin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/zip-webpack-plugin/-/zip-webpack-plugin-4.0.1.tgz", - "integrity": "sha512-G041Q4qUaog44Ynit6gs4o+o3JIv0WWfOLvc8Q3IxvPfuqd2KBHhpJWAXUB9Cm1JcWHTIOp9vS3oGMWa1p1Ehw==", - "dev": true, - "dependencies": { - "yazl": "^2.5.1" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0", - "webpack-sources": "*" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.7" - } - }, - "@babel/compat-data": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", - "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", - "dev": true - }, - "@babel/core": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz", - "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.10", - "@babel/types": "^7.16.8", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz", - "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", - "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" - } - }, - "@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" - } - }, - "@babel/helpers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", - "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", - "dev": true, - "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.10.tgz", - "integrity": "sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", - "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", - "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", - "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz", - "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", - "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", - "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", - "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", - "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-typescript": "^7.16.7" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - } - }, - "@babel/preset-env": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", - "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.16.7", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.16.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@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-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.16.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.16.8", - "@babel/plugin-transform-modules-systemjs": "^7.16.7", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.16.7", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.16.8", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.20.2", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", - "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-typescript": "^7.16.7" - } - }, - "@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/traverse": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz", - "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/types": "^7.16.8", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", - "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.2.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz", - "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.4.6", - "jest-util": "^27.4.2", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz", - "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==", - "dev": true, - "requires": { - "@jest/console": "^27.4.6", - "@jest/reporters": "^27.4.6", - "@jest/test-result": "^27.4.6", - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^27.4.2", - "jest-config": "^27.4.7", - "jest-haste-map": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.6", - "jest-resolve-dependencies": "^27.4.6", - "jest-runner": "^27.4.6", - "jest-runtime": "^27.4.6", - "jest-snapshot": "^27.4.6", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.6", - "jest-watcher": "^27.4.6", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz", - "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==", - "dev": true, - "requires": { - "@jest/fake-timers": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "jest-mock": "^27.4.6" - } - }, - "@jest/fake-timers": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz", - "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.4.6", - "jest-mock": "^27.4.6", - "jest-util": "^27.4.2" - } - }, - "@jest/globals": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz", - "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==", - "dev": true, - "requires": { - "@jest/environment": "^27.4.6", - "@jest/types": "^27.4.2", - "expect": "^27.4.6" - } - }, - "@jest/reporters": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz", - "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.4.6", - "@jest/test-result": "^27.4.6", - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "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.4.6", - "jest-resolve": "^27.4.6", - "jest-util": "^27.4.2", - "jest-worker": "^27.4.6", - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/source-map": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz", - "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@jest/test-result": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz", - "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==", - "dev": true, - "requires": { - "@jest/console": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz", - "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==", - "dev": true, - "requires": { - "@jest/test-result": "^27.4.6", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.4.6", - "jest-runtime": "^27.4.6" - } - }, - "@jest/transform": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz", - "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.4.2", - "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.4", - "jest-haste-map": "^27.4.6", - "jest-regex-util": "^27.4.0", - "jest-util": "^27.4.2", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", - "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.18", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", - "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.0.tgz", - "integrity": "sha512-JUYa/5JwoqikCy7O7jKtuNe9Z4ZZt615G+1EKfaDGSNEpzaA2OwbV/G1v08Oa7fd1XzlFoSCvt9ePl9/6FyAug==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true - }, - "@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz", - "integrity": "sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==", - "dev": true, - "requires": { - "jest-diff": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "@types/node": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", - "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==", - "dev": true - }, - "@types/prettier": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz", - "integrity": "sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==", - "dev": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", - "dev": true - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz", - "integrity": "sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/type-utils": "5.10.0", - "@typescript-eslint/utils": "5.10.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.10.0.tgz", - "integrity": "sha512-GeQAPqQMI5DVMGOUwGbSR+NdsirryyKOgUFRTWInhlsKUArns/MVnXmPpzxfrzB1nU36cT5WJAwmfCsjoaVBWg==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.10.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.0.tgz", - "integrity": "sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/typescript-estree": "5.10.0", - "debug": "^4.3.2" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz", - "integrity": "sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/visitor-keys": "5.10.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz", - "integrity": "sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.10.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.0.tgz", - "integrity": "sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz", - "integrity": "sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/visitor-keys": "5.10.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.0.tgz", - "integrity": "sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/typescript-estree": "5.10.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz", - "integrity": "sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.10.0", - "eslint-visitor-keys": "^3.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", - "dev": true - } - } - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "babel-jest": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz", - "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==", - "dev": true, - "requires": { - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.4.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@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" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz", - "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz", - "integrity": "sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.20.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@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" - } - }, - "babel-preset-jest": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz", - "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^27.4.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", - "dev": true, - "requires": { - "bytes": "3.1.1", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" - }, - "dependencies": { - "bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001301", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz", - "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "clean-css": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz", - "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", - "dev": true - }, - "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz", - "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==", - "dev": true, - "requires": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^12.0.2", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true - }, - "globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "requires": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "core-js-compat": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz", - "integrity": "sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==", - "dev": true, - "requires": { - "browserslist": "^4.19.1", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css-declaration-sorter": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", - "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", - "dev": true, - "requires": { - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", - "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "dev": true, - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz", - "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==", - "dev": true, - "requires": { - "cssnano-preset-default": "^5.1.10", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.1.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz", - "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==", - "dev": true, - "requires": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^3.0.0", - "postcss-calc": "^8.2.0", - "postcss-colormin": "^5.2.3", - "postcss-convert-values": "^5.0.2", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.2", - "postcss-merge-longhand": "^5.0.4", - "postcss-merge-rules": "^5.0.4", - "postcss-minify-font-values": "^5.0.2", - "postcss-minify-gradients": "^5.0.4", - "postcss-minify-params": "^5.0.3", - "postcss-minify-selectors": "^5.1.1", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.2", - "postcss-normalize-positions": "^5.0.2", - "postcss-normalize-repeat-style": "^5.0.2", - "postcss-normalize-string": "^5.0.2", - "postcss-normalize-timing-functions": "^5.0.2", - "postcss-normalize-unicode": "^5.0.2", - "postcss-normalize-url": "^5.0.4", - "postcss-normalize-whitespace": "^5.0.2", - "postcss-ordered-values": "^5.0.3", - "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.2", - "postcss-svgo": "^5.0.3", - "postcss-unique-selectors": "^5.0.2" - } - }, - "cssnano-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz", - "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==", - "dev": true, - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "diff-sequences": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz", - "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true - } - } - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.49", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz", - "integrity": "sha512-k/0t1TRfonHIp8TJKfjBu2cKj8MqYTiEpOhci+q7CVEE5xnCQnx1pTa+V8b/sdhe4S3PR4p4iceEQWhGrKQORQ==", - "dev": true - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz", - "integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.0.5", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "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.1.0", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.2.0", - "espree": "^9.3.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", - "dev": true - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" - } - }, - "eslint-plugin-unused-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz", - "integrity": "sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==", - "dev": true, - "requires": { - "eslint-rule-composer": "^0.3.0" - } - }, - "eslint-rule-composer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", - "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "espree": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", - "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", - "dev": true, - "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" - }, - "dependencies": { - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expect": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz", - "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "jest-get-type": "^27.4.0", - "jest-matcher-utils": "^27.4.6", - "jest-message-util": "^27.4.6" - } - }, - "express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", - "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.6", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", - "dev": true - }, - "follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", - "dev": true - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "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" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "dependencies": { - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "optional": true, - "peer": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - } - } - }, - "html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "dev": true, - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", - "dev": true, - "requires": { - "@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" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", - "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz", - "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==", - "dev": true, - "requires": { - "@jest/core": "^27.4.7", - "import-local": "^3.0.2", - "jest-cli": "^27.4.7" - } - }, - "jest-changed-files": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz", - "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz", - "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.4.6", - "@jest/test-result": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.4.6", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.4.6", - "jest-matcher-utils": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-runtime": "^27.4.6", - "jest-snapshot": "^27.4.6", - "jest-util": "^27.4.2", - "pretty-format": "^27.4.6", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz", - "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==", - "dev": true, - "requires": { - "@jest/core": "^27.4.7", - "@jest/test-result": "^27.4.6", - "@jest/types": "^27.4.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "jest-config": "^27.4.7", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.6", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz", - "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==", - "dev": true, - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.4.6", - "@jest/types": "^27.4.2", - "babel-jest": "^27.4.6", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-circus": "^27.4.6", - "jest-environment-jsdom": "^27.4.6", - "jest-environment-node": "^27.4.6", - "jest-get-type": "^27.4.0", - "jest-jasmine2": "^27.4.6", - "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.6", - "jest-runner": "^27.4.6", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.6", - "micromatch": "^4.0.4", - "pretty-format": "^27.4.6", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz", - "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.4.0", - "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz", - "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz", - "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "chalk": "^4.0.0", - "jest-get-type": "^27.4.0", - "jest-util": "^27.4.2", - "pretty-format": "^27.4.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz", - "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==", - "dev": true, - "requires": { - "@jest/environment": "^27.4.6", - "@jest/fake-timers": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "jest-mock": "^27.4.6", - "jest-util": "^27.4.2", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz", - "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.4.6", - "@jest/fake-timers": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "jest-mock": "^27.4.6", - "jest-util": "^27.4.2" - } - }, - "jest-get-type": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz", - "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==", - "dev": true - }, - "jest-haste-map": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz", - "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^27.4.0", - "jest-serializer": "^27.4.0", - "jest-util": "^27.4.2", - "jest-worker": "^27.4.6", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz", - "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==", - "dev": true, - "requires": { - "@jest/environment": "^27.4.6", - "@jest/source-map": "^27.4.0", - "@jest/test-result": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.4.6", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.4.6", - "jest-matcher-utils": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-runtime": "^27.4.6", - "jest-snapshot": "^27.4.6", - "jest-util": "^27.4.2", - "pretty-format": "^27.4.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz", - "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==", - "dev": true, - "requires": { - "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.6" - } - }, - "jest-matcher-utils": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz", - "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.4.6", - "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz", - "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.4.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "pretty-format": "^27.4.6", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz", - "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz", - "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==", - "dev": true - }, - "jest-resolve": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz", - "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.4.6", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.6", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz", - "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "jest-regex-util": "^27.4.0", - "jest-snapshot": "^27.4.6" - } - }, - "jest-runner": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz", - "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==", - "dev": true, - "requires": { - "@jest/console": "^27.4.6", - "@jest/environment": "^27.4.6", - "@jest/test-result": "^27.4.6", - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-docblock": "^27.4.0", - "jest-environment-jsdom": "^27.4.6", - "jest-environment-node": "^27.4.6", - "jest-haste-map": "^27.4.6", - "jest-leak-detector": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-resolve": "^27.4.6", - "jest-runtime": "^27.4.6", - "jest-util": "^27.4.2", - "jest-worker": "^27.4.6", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz", - "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.4.6", - "@jest/fake-timers": "^27.4.6", - "@jest/globals": "^27.4.6", - "@jest/source-map": "^27.4.0", - "@jest/test-result": "^27.4.6", - "@jest/transform": "^27.4.6", - "@jest/types": "^27.4.2", - "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.4", - "jest-haste-map": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-mock": "^27.4.6", - "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.6", - "jest-snapshot": "^27.4.6", - "jest-util": "^27.4.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.4.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz", - "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - } - }, - "jest-snapshot": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz", - "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==", - "dev": true, - "requires": { - "@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.4.6", - "@jest/types": "^27.4.2", - "@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.4.6", - "graceful-fs": "^4.2.4", - "jest-diff": "^27.4.6", - "jest-get-type": "^27.4.0", - "jest-haste-map": "^27.4.6", - "jest-matcher-utils": "^27.4.6", - "jest-message-util": "^27.4.6", - "jest-util": "^27.4.2", - "natural-compare": "^1.4.0", - "pretty-format": "^27.4.6", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz", - "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.4", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz", - "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==", - "dev": true, - "requires": { - "@jest/types": "^27.4.2", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.4.0", - "leven": "^3.1.0", - "pretty-format": "^27.4.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz", - "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==", - "dev": true, - "requires": { - "@jest/test-result": "^27.4.6", - "@jest/types": "^27.4.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.4.2", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", - "dev": true - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", - "dev": true, - "requires": { - "fs-monkey": "1.0.3" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, - "requires": { - "mime-db": "1.51.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.2.tgz", - "integrity": "sha512-Lwgq9qLNyBK6yNLgzssXnq4r2+mB9Mz3cJWlM8kseysHIvTicFhDNimFgY94jjqlwhNzLPsq8wv4X+vOHtMdYA==", - "dev": true, - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-forge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", - "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", - "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", - "dev": true, - "requires": { - "@types/retry": "^0.12.0", - "retry": "^0.13.1" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", - "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, - "requires": { - "nanoid": "^3.1.30", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" - } - }, - "postcss-calc": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz", - "integrity": "sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz", - "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", - "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "dev": true, - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "dev": true, - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "dev": true, - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz", - "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==", - "dev": true, - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz", - "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - } - }, - "postcss-merge-rules": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz", - "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.0.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz", - "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz", - "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==", - "dev": true, - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz", - "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.6", - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz", - "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "dev": true, - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", - "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz", - "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz", - "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz", - "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", - "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz", - "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz", - "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==", - "dev": true, - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz", - "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-ordered-values": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz", - "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==", - "dev": true, - "requires": { - "cssnano-utils": "^3.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-initial": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", - "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz", - "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", - "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.7.0" - } - }, - "postcss-unique-selectors": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz", - "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-format": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz", - "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } - } - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", - "dev": true, - "requires": { - "bytes": "3.1.1", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.1.tgz", - "integrity": "sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ==", - "dev": true, - "requires": { - "is-core-module": "^2.8.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz", - "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==", - "dev": true, - "requires": { - "node-forge": "^1.2.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "sortablejs": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", - "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", - "dev": true, - "requires": {} - }, - "stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", - "dev": true, - "requires": { - "jest-worker": "^27.4.1", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "dependencies": { - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "optional": true, - "peer": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true - }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "ts-loader": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", - "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webfontloader": { - "version": "1.6.28", - "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz", - "integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64=", - "dev": true - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true - }, - "webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - }, - "dependencies": { - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} - } - } - }, - "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", - "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.2.2", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", - "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", - "dev": true, - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/serve-index": "^1.9.1", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.2.2", - "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.2", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "default-gateway": "^6.0.3", - "del": "^6.0.0", - "express": "^4.17.1", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "portfinder": "^1.0.28", - "schema-utils": "^4.0.0", - "selfsigned": "^2.0.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "webpack-dev-middleware": "^5.3.0", - "ws": "^8.1.0" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "ws": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", - "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", - "dev": true, - "requires": {} - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "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" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "yazl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", - "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3" - } - }, - "zip-webpack-plugin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/zip-webpack-plugin/-/zip-webpack-plugin-4.0.1.tgz", - "integrity": "sha512-G041Q4qUaog44Ynit6gs4o+o3JIv0WWfOLvc8Q3IxvPfuqd2KBHhpJWAXUB9Cm1JcWHTIOp9vS3oGMWa1p1Ehw==", - "dev": true, - "requires": { - "yazl": "^2.5.1" - } - } - } -} diff --git a/package.json b/package.json index 100c7bfa..f4f1ecdb 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,6 @@ "start": "webpack serve --open --config webpack.dev.js", "build": "webpack --config webpack.prod.js", "lint": "eslint --fix --ext .js,.ts,.test.ts .", - "prepare": "husky install", "test": "jest tests/*" }, "keywords": [ @@ -31,30 +30,31 @@ "devDependencies": { "@babel/preset-env": "^7.16.11", "@babel/preset-typescript": "^7.16.7", - "@types/jest": "^27.4.0", - "@typescript-eslint/eslint-plugin": "^5.10.0", - "@typescript-eslint/parser": "^5.10.0", - "copy-webpack-plugin": "^10.2.1", + "@types/jest": "^29.4.3", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", + "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.4.1", + "css-minimizer-webpack-plugin": "^5.0.1", "eslint": "^8.7.0", - "eslint-plugin-jest": "^25.7.0", - "eslint-plugin-unused-imports": "^2.0.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-jest": "^27.2.1", + "eslint-plugin-unused-imports": "^3.0.0", "html-webpack-plugin": "^5.5.0", - "husky": "^7.0.4", - "jest": "^27.4.7", + "jest": "^29.5.0", "mini-css-extract-plugin": "^2.5.2", - "moment": "^2.29.1", + "moment": "^2.29.4", "sortablejs": "^1.14.0", "style-loader": "^3.3.1", "terser-webpack-plugin": "^5.3.0", "ts-loader": "^9.2.6", - "typescript": "^4.5.5", + "typescript": "^5.2.2", "webfontloader": "^1.6.28", - "webpack": "^5.66.0", - "webpack-cli": "^4.9.1", + "webpack": "^5.94.0", + "webpack-cli": "^5.0.1", "webpack-dev-server": "^4.7.3", "webpack-merge": "^5.8.0", "zip-webpack-plugin": "^4.0.1" - } + }, + "packageManager": "pnpm@8.9.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..4ebfbff8 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7005 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +devDependencies: + '@babel/preset-env': + specifier: ^7.16.11 + version: 7.23.2(@babel/core@7.26.10) + '@babel/preset-typescript': + specifier: ^7.16.7 + version: 7.23.2(@babel/core@7.26.10) + '@types/jest': + specifier: ^29.4.3 + version: 29.5.6 + '@typescript-eslint/eslint-plugin': + specifier: ^6.8.0 + version: 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': + specifier: ^6.8.0 + version: 6.8.0(eslint@8.52.0)(typescript@5.2.2) + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0) + css-loader: + specifier: ^6.5.1 + version: 6.8.1(webpack@5.94.0) + css-minimizer-webpack-plugin: + specifier: ^5.0.1 + version: 5.0.1(webpack@5.94.0) + eslint: + specifier: ^8.7.0 + version: 8.52.0 + eslint-config-prettier: + specifier: ^9.0.0 + version: 9.0.0(eslint@8.52.0) + eslint-plugin-jest: + specifier: ^27.2.1 + version: 27.4.3(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.52.0)(jest@29.7.0)(typescript@5.2.2) + eslint-plugin-unused-imports: + specifier: ^3.0.0 + version: 3.0.0(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.52.0) + html-webpack-plugin: + specifier: ^5.5.0 + version: 5.5.3(webpack@5.94.0) + jest: + specifier: ^29.5.0 + version: 29.7.0 + mini-css-extract-plugin: + specifier: ^2.5.2 + version: 2.7.6(webpack@5.94.0) + moment: + specifier: ^2.29.4 + version: 2.29.4 + sortablejs: + specifier: ^1.14.0 + version: 1.15.0 + style-loader: + specifier: ^3.3.1 + version: 3.3.3(webpack@5.94.0) + terser-webpack-plugin: + specifier: ^5.3.0 + version: 5.3.9(webpack@5.94.0) + ts-loader: + specifier: ^9.2.6 + version: 9.5.0(typescript@5.2.2)(webpack@5.94.0) + typescript: + specifier: ^5.2.2 + version: 5.2.2 + webfontloader: + specifier: ^1.6.28 + version: 1.6.28 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@5.1.4) + webpack-cli: + specifier: ^5.0.1 + version: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.7.3 + version: 4.15.1(webpack-cli@5.1.4)(webpack@5.94.0) + webpack-merge: + specifier: ^5.8.0 + version: 5.10.0 + zip-webpack-plugin: + specifier: ^4.0.1 + version: 4.0.1(webpack-sources@3.2.3)(webpack@5.94.0) + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + dev: true + + /@babel/code-frame@7.26.2: + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + dev: true + + /@babel/compat-data@7.23.2: + resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/compat-data@7.26.8: + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.23.2: + resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@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/core@7.23.2) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core@7.26.10: + resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.10 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helpers': 7.26.10 + '@babel/parser': 7.26.10 + '@babel/template': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.23.0: + resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + + /@babel/generator@7.26.10: + resolution: {integrity: sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + dev: true + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.2 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-compilation-targets@7.26.5: + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.26.10) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.26.10): + resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-module-imports@7.25.9: + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.2 + '@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 + dev: true + + /@babel/helper-module-transforms@7.23.0(@babel/core@7.26.10): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@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 + dev: true + + /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10): + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.10 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.26.10): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: true + + /@babel/helper-replace-supers@7.22.20(@babel/core@7.26.10): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-string-parser@7.25.9: + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.25.9: + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.25.9: + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 + dev: true + + /@babel/helpers@7.23.2: + resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers@7.26.10: + resolution: {integrity: sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.26.9 + '@babel/types': 7.26.10 + dev: true + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.23.0: + resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@babel/parser@7.26.10: + resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.26.10 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.26.10) + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.10): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.2): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.10): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.2): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.2): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.10): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.10): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.2): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.10): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.2): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.2): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.10): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.2): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.2): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.10): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.2): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.2): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.2): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.10): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.2): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.10): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.10): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.23.2(@babel/core@7.26.10): + resolution: {integrity: sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.26.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-block-scoping@7.23.0(@babel/core@7.26.10): + resolution: {integrity: sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.26.10) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: true + + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + dev: true + + /@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.26.10): + resolution: {integrity: sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-amd@7.23.0(@babel/core@7.26.10): + resolution: {integrity: sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.26.10): + resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-systemjs@7.23.0(@babel/core@7.26.10): + resolution: {integrity: sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.2 + '@babel/core': 7.26.10 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-optional-chaining@7.23.0(@babel/core@7.26.10): + resolution: {integrity: sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.26.10): + resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.26.10): + resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + dev: true + + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.26.10): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.26.10) + dev: true + + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.26.10): + resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.26.10): + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.26.10) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/preset-env@7.23.2(@babel/core@7.26.10): + resolution: {integrity: sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.2 + '@babel/core': 7.26.10 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.26.10) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.26.10) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.10) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.10) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-async-generator-functions': 7.23.2(@babel/core@7.26.10) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-block-scoping': 7.23.0(@babel/core@7.26.10) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.26.10) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-destructuring': 7.23.0(@babel/core@7.26.10) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.26.10) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-modules-amd': 7.23.0(@babel/core@7.26.10) + '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.26.10) + '@babel/plugin-transform-modules-systemjs': 7.23.0(@babel/core@7.26.10) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.26.10) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.26.10) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.26.10) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.26.10) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.26.10) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.26.10) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.10) + '@babel/types': 7.23.0 + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.26.10) + babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.26.10) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.26.10) + core-js-compat: 3.33.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.10): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.0 + esutils: 2.0.3 + dev: true + + /@babel/preset-typescript@7.23.2(@babel/core@7.26.10): + resolution: {integrity: sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.26.10) + '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.26.10) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.26.10) + dev: true + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.23.2: + resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + dev: true + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 + dev: true + + /@babel/template@7.26.9: + resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 + dev: true + + /@babel/traverse@7.23.2: + resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + engines: {node: '>=6.9.0'} + 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.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/traverse@7.26.10: + resolution: {integrity: sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.10 + '@babel/parser': 7.26.10 + '@babel/template': 7.26.9 + '@babel/types': 7.26.10 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.23.0: + resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@babel/types@7.26.10: + resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@discoveryjs/json-ext@0.5.7: + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + dev: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.52.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.9.1: + resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.23.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.52.0: + resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: true + + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + dev: true + + /@jest/core@29.7.0: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.8.7) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + jest-mock: 29.7.0 + dev: true + + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + dev: true + + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 20.8.7 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + dev: true + + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 20.8.7 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 6.0.1 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.6 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.1.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + dev: true + + /@jest/test-result@29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.5 + collect-v8-coverage: 1.0.2 + dev: true + + /@jest/test-sequencer@29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + dev: true + + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.23.2 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.5 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.5 + '@types/istanbul-reports': 3.0.3 + '@types/node': 20.8.7 + '@types/yargs': 17.0.29 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping@0.3.8: + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + dev: true + + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + dev: true + + /@leichtgewicht/ip-codec@2.0.4: + resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sinonjs/commons@3.0.0: + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + dependencies: + '@sinonjs/commons': 3.0.0 + dev: true + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@types/babel__core@7.20.3: + resolution: {integrity: sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==} + dependencies: + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 + '@types/babel__generator': 7.6.6 + '@types/babel__template': 7.4.3 + '@types/babel__traverse': 7.20.3 + dev: true + + /@types/babel__generator@7.6.6: + resolution: {integrity: sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@types/babel__template@7.4.3: + resolution: {integrity: sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==} + dependencies: + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 + dev: true + + /@types/babel__traverse@7.20.3: + resolution: {integrity: sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==} + dependencies: + '@babel/types': 7.23.0 + dev: true + + /@types/body-parser@1.19.4: + resolution: {integrity: sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==} + dependencies: + '@types/connect': 3.4.37 + '@types/node': 20.8.7 + dev: true + + /@types/bonjour@3.5.12: + resolution: {integrity: sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==} + dependencies: + '@types/node': 20.8.7 + dev: true + + /@types/connect-history-api-fallback@1.5.2: + resolution: {integrity: sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==} + dependencies: + '@types/express-serve-static-core': 4.17.39 + '@types/node': 20.8.7 + dev: true + + /@types/connect@3.4.37: + resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} + dependencies: + '@types/node': 20.8.7 + dev: true + + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + dev: true + + /@types/express-serve-static-core@4.17.39: + resolution: {integrity: sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==} + dependencies: + '@types/node': 20.8.7 + '@types/qs': 6.9.9 + '@types/range-parser': 1.2.6 + '@types/send': 0.17.3 + dev: true + + /@types/express@4.17.20: + resolution: {integrity: sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==} + dependencies: + '@types/body-parser': 1.19.4 + '@types/express-serve-static-core': 4.17.39 + '@types/qs': 6.9.9 + '@types/serve-static': 1.15.4 + dev: true + + /@types/graceful-fs@4.1.8: + resolution: {integrity: sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==} + dependencies: + '@types/node': 20.8.7 + dev: true + + /@types/html-minifier-terser@6.1.0: + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + dev: true + + /@types/http-errors@2.0.3: + resolution: {integrity: sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==} + dev: true + + /@types/http-proxy@1.17.13: + resolution: {integrity: sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==} + dependencies: + '@types/node': 20.8.7 + dev: true + + /@types/istanbul-lib-coverage@2.0.5: + resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} + dev: true + + /@types/istanbul-lib-report@3.0.2: + resolution: {integrity: sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.5 + dev: true + + /@types/istanbul-reports@3.0.3: + resolution: {integrity: sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==} + dependencies: + '@types/istanbul-lib-report': 3.0.2 + dev: true + + /@types/jest@29.5.6: + resolution: {integrity: sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==} + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/mime@1.3.4: + resolution: {integrity: sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==} + dev: true + + /@types/mime@3.0.3: + resolution: {integrity: sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ==} + dev: true + + /@types/node@20.8.7: + resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} + dependencies: + undici-types: 5.25.3 + dev: true + + /@types/qs@6.9.9: + resolution: {integrity: sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==} + dev: true + + /@types/range-parser@1.2.6: + resolution: {integrity: sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==} + dev: true + + /@types/retry@0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: true + + /@types/semver@7.5.4: + resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} + dev: true + + /@types/send@0.17.3: + resolution: {integrity: sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==} + dependencies: + '@types/mime': 1.3.4 + '@types/node': 20.8.7 + dev: true + + /@types/serve-index@1.9.3: + resolution: {integrity: sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==} + dependencies: + '@types/express': 4.17.20 + dev: true + + /@types/serve-static@1.15.4: + resolution: {integrity: sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==} + dependencies: + '@types/http-errors': 2.0.3 + '@types/mime': 3.0.3 + '@types/node': 20.8.7 + dev: true + + /@types/sockjs@0.3.35: + resolution: {integrity: sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==} + dependencies: + '@types/node': 20.8.7 + dev: true + + /@types/stack-utils@2.0.2: + resolution: {integrity: sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==} + dev: true + + /@types/ws@8.5.8: + resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} + dependencies: + '@types/node': 20.8.7 + dev: true + + /@types/yargs-parser@21.0.2: + resolution: {integrity: sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==} + dev: true + + /@types/yargs@17.0.29: + resolution: {integrity: sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==} + dependencies: + '@types/yargs-parser': 21.0.2 + dev: true + + /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.9.1 + '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.8.0 + '@typescript-eslint/type-utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.8.0 + debug: 4.3.4 + eslint: 8.52.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.8.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.8.0 + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.8.0 + debug: 4.3.4 + eslint: 8.52.0 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/scope-manager@6.8.0: + resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/visitor-keys': 6.8.0 + dev: true + + /@typescript-eslint/type-utils@6.8.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.52.0 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/types@6.8.0: + resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + 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.5.4 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@6.8.0(typescript@5.2.2): + resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/visitor-keys': 6.8.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.4 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) + eslint: 8.52.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.8.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.4 + '@typescript-eslint/scope-manager': 6.8.0 + '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) + eslint: 8.52.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@6.8.0: + resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.8.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@webassemblyjs/ast@1.14.1: + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + dev: true + + /@webassemblyjs/floating-point-hex-parser@1.13.2: + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + dev: true + + /@webassemblyjs/helper-api-error@1.13.2: + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + dev: true + + /@webassemblyjs/helper-buffer@1.14.1: + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + dev: true + + /@webassemblyjs/helper-numbers@1.13.2: + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-wasm-bytecode@1.13.2: + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + dev: true + + /@webassemblyjs/helper-wasm-section@1.14.1: + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + dev: true + + /@webassemblyjs/ieee754@1.13.2: + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/leb128@1.13.2: + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/utf8@1.13.2: + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + dev: true + + /@webassemblyjs/wasm-edit@1.14.1: + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + dev: true + + /@webassemblyjs/wasm-gen@1.14.1: + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + dev: true + + /@webassemblyjs/wasm-opt@1.14.1: + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + dev: true + + /@webassemblyjs/wasm-parser@1.14.1: + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + dev: true + + /@webassemblyjs/wast-printer@1.14.1: + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + dev: true + + /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.94.0): + resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.94.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.94.0) + dev: true + + /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.94.0): + resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.94.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.94.0) + dev: true + + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.1)(webpack@5.94.0): + resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true + dependencies: + webpack: 5.94.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.94.0) + dev: true + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true + + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + + /acorn-import-attributes@1.9.5(acorn@8.14.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.14.1 + dev: true + + /acorn-jsx@5.3.2(acorn@8.14.1): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.14.1 + dev: true + + /acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.17.1): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.17.1 + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv-keywords@5.1.0(ajv@8.17.1): + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.6 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true + + /array-flatten@2.1.2: + resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /babel-jest@29.7.0(@babel/core@7.23.2): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.23.2 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.3 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.23.2) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.22.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 + '@types/babel__core': 7.20.3 + '@types/babel__traverse': 7.20.3 + dev: true + + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.26.10): + resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.23.2 + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.26.10) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.26.10): + resolution: {integrity: sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.26.10) + core-js-compat: 3.33.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.26.10): + resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.26.10) + transitivePeerDependencies: + - supports-color + dev: true + + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.2): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.2 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2) + dev: true + + /babel-preset-jest@29.6.3(@babel/core@7.23.2): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.2 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2) + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /bonjour-service@1.1.1: + resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} + dependencies: + array-flatten: 2.1.2 + dns-equal: 1.0.0 + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001706 + electron-to-chromium: 1.5.123 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.4) + dev: true + + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + dev: true + + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.2 + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + dependencies: + browserslist: 4.24.4 + caniuse-lite: 1.0.30001706 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + dev: true + + /caniuse-lite@1.0.30001706: + resolution: {integrity: sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /cjs-module-lexer@1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + dev: true + + /clean-css@5.3.2: + resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + dev: true + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: true + + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.54.0 + dev: true + + /compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: true + + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true + + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: true + + /copy-webpack-plugin@11.0.0(webpack@5.94.0): + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + dependencies: + fast-glob: 3.3.1 + glob-parent: 6.0.2 + globby: 13.2.2 + normalize-path: 3.0.0 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /core-js-compat@3.33.1: + resolution: {integrity: sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==} + dependencies: + browserslist: 4.24.4 + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.8.7) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-declaration-sorter@6.4.1(postcss@8.4.31): + resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.31 + dev: true + + /css-loader@6.8.1(webpack@5.94.0): + resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.31) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.31) + postcss-modules-scope: 3.0.0(postcss@8.4.31) + postcss-modules-values: 4.0.0(postcss@8.4.31) + postcss-value-parser: 4.2.0 + semver: 7.5.4 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /css-minimizer-webpack-plugin@5.0.1(webpack@5.94.0): + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + cssnano: 6.0.1(postcss@8.4.31) + jest-worker: 29.7.0 + postcss: 8.4.31 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + + /css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.0.2 + dev: true + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /cssnano-preset-default@6.0.1(postcss@8.4.31): + resolution: {integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.4.1(postcss@8.4.31) + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-calc: 9.0.1(postcss@8.4.31) + postcss-colormin: 6.0.0(postcss@8.4.31) + postcss-convert-values: 6.0.0(postcss@8.4.31) + postcss-discard-comments: 6.0.0(postcss@8.4.31) + postcss-discard-duplicates: 6.0.0(postcss@8.4.31) + postcss-discard-empty: 6.0.0(postcss@8.4.31) + postcss-discard-overridden: 6.0.0(postcss@8.4.31) + postcss-merge-longhand: 6.0.0(postcss@8.4.31) + postcss-merge-rules: 6.0.1(postcss@8.4.31) + postcss-minify-font-values: 6.0.0(postcss@8.4.31) + postcss-minify-gradients: 6.0.0(postcss@8.4.31) + postcss-minify-params: 6.0.0(postcss@8.4.31) + postcss-minify-selectors: 6.0.0(postcss@8.4.31) + postcss-normalize-charset: 6.0.0(postcss@8.4.31) + postcss-normalize-display-values: 6.0.0(postcss@8.4.31) + postcss-normalize-positions: 6.0.0(postcss@8.4.31) + postcss-normalize-repeat-style: 6.0.0(postcss@8.4.31) + postcss-normalize-string: 6.0.0(postcss@8.4.31) + postcss-normalize-timing-functions: 6.0.0(postcss@8.4.31) + postcss-normalize-unicode: 6.0.0(postcss@8.4.31) + postcss-normalize-url: 6.0.0(postcss@8.4.31) + postcss-normalize-whitespace: 6.0.0(postcss@8.4.31) + postcss-ordered-values: 6.0.0(postcss@8.4.31) + postcss-reduce-initial: 6.0.0(postcss@8.4.31) + postcss-reduce-transforms: 6.0.0(postcss@8.4.31) + postcss-svgo: 6.0.0(postcss@8.4.31) + postcss-unique-selectors: 6.0.0(postcss@8.4.31) + dev: true + + /cssnano-utils@4.0.0(postcss@8.4.31): + resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + dev: true + + /cssnano@6.0.1(postcss@8.4.31): + resolution: {integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 6.0.1(postcss@8.4.31) + lilconfig: 2.1.0 + postcss: 8.4.31 + dev: true + + /csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + css-tree: 2.2.1 + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /dedent@1.5.1: + resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + dependencies: + execa: 5.1.1 + dev: true + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true + + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dns-equal@1.0.0: + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} + dev: true + + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + dependencies: + '@leichtgewicht/ip-codec': 2.0.4 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + dependencies: + utila: 0.4.0 + dev: true + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /electron-to-chromium@1.5.123: + resolution: {integrity: sha512-refir3NlutEZqlKaBLK0tzlVLe5P2wDKS7UQt/3SpibizgsRAPOsqQC3ffw1nlv3ze5gjRQZYHoPymgVZkplFA==} + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /enhanced-resolve@5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /envinfo@7.10.0: + resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + dev: true + + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + dev: true + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.0.0(eslint@8.52.0): + resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.52.0 + dev: true + + /eslint-plugin-jest@27.4.3(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.52.0)(jest@29.7.0)(typescript@5.2.2): + resolution: {integrity: sha512-7S6SmmsHsgIm06BAGCAxL+ABd9/IB3MWkz2pudj6Qqor2y1qQpWPfuFU4SG9pWj4xDjF0e+D7Llh5useuSzAZw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.2.2) + eslint: 8.52.0 + jest: 29.7.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.52.0): + resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^6.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + eslint: 8.52.0 + eslint-rule-composer: 0.3.0 + dev: true + + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.52.0: + resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/regexpp': 4.9.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.52.0 + '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + 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.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.23.0 + graphemer: 1.4.0 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + dev: true + + /express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + dev: true + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + dependencies: + websocket-driver: 0.7.4 + dev: true + + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.1.1 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + + /follow-redirects@1.15.4: + resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true + + /fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + dev: true + + /html-entities@2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.2 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.39.0 + dev: true + + /html-webpack-plugin@5.5.3(webpack@5.94.0): + resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} + engines: {node: '>=10.13.0'} + peerDependencies: + webpack: ^5.20.0 + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + dev: true + + /http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: true + + /http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: true + + /http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + dev: true + + /http-proxy-middleware@2.0.6(@types/express@4.17.20): + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + dependencies: + '@types/express': 4.17.20 + '@types/http-proxy': 1.17.13 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: true + + /http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.4 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /icss-utils@5.1.0(postcss@8.4.31): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.31 + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /interpret@3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} + dev: true + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true + + /ipaddr.js@2.1.0: + resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} + engines: {node: '>= 10'} + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.23.2 + '@babel/parser': 7.23.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-instrument@6.0.1: + resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.23.2 + '@babel/parser': 7.23.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + dev: true + + /jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.1 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.0.4 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0 + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.8.7) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /jest-config@29.7.0(@types/node@20.8.7): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.23.2 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + babel-jest: 29.7.0(@babel/core@7.23.2) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + jest-mock: 29.7.0 + jest-util: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.8 + '@types/node': 20.8.7 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.22.13 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.2 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + jest-util: 29.7.0 + dev: true + + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 29.7.0 + dev: true + + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + slash: 3.0.0 + dev: true + + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + chalk: 4.1.2 + cjs-module-lexer: 1.2.3 + collect-v8-coverage: 1.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.23.2 + '@babel/generator': 7.23.0 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2) + '@babel/types': 7.23.0 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + dev: true + + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.8.7 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.8.7 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 20.8.7 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.1 + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.6.2 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 + dev: true + + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true + + /memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + dependencies: + fs-monkey: 1.0.5 + dev: true + + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mini-css-extract-plugin@2.7.6(webpack@5.94.0): + resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + schema-utils: 4.2.0 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /moment@2.29.4: + resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + dev: true + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: true + + /node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + dev: true + + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: true + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /postcss-calc@9.0.1(postcss@8.4.31): + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-colormin@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.24.4 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-convert-values@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.24.4 + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-discard-comments@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-discard-duplicates@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-discard-empty@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-discard-overridden@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-merge-longhand@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + stylehacks: 6.0.0(postcss@8.4.31) + dev: true + + /postcss-merge-rules@6.0.1(postcss@8.4.31): + resolution: {integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.24.4 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-minify-font-values@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-gradients@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-params@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.24.4 + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-selectors@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-modules-extract-imports@3.0.0(postcss@8.4.31): + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-modules-local-by-default@4.0.3(postcss@8.4.31): + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-modules-scope@3.0.0(postcss@8.4.31): + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-modules-values@4.0.0(postcss@8.4.31): + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + dev: true + + /postcss-normalize-charset@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-normalize-display-values@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-positions@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-repeat-style@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-string@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-timing-functions@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-unicode@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.24.4 + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-url@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-whitespace@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-ordered-values@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-reduce-initial@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.24.4 + caniuse-api: 3.0.0 + postcss: 8.4.31 + dev: true + + /postcss-reduce-transforms@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-svgo@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + svgo: 3.0.2 + dev: true + + /postcss-unique-selectors@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.1.1 + source-map-js: 1.0.2 + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /pure-rand@6.0.4: + resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} + dev: true + + /qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true + + /raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + dependencies: + resolve: 1.22.8 + dev: true + + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + dev: true + + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.23.2 + dev: true + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: true + + /renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + dev: true + + /schema-utils@4.3.0: + resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + dev: true + + /select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: true + + /selfsigned@2.1.1: + resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + engines: {node: '>=10'} + dependencies: + node-forge: 1.3.1 + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + dev: true + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + dependencies: + randombytes: 2.1.0 + dev: true + + /serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: true + + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: true + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + + /sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + dev: true + + /sortablejs@1.15.0: + resolution: {integrity: sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==} + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + dependencies: + debug: 4.3.4 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + dependencies: + debug: 4.3.4 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: true + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /style-loader@3.3.3(webpack@5.94.0): + resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /stylehacks@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.24.4 + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svgo@3.0.2: + resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + csso: 5.0.5 + picocolors: 1.1.1 + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /terser-webpack-plugin@5.3.14(webpack@5.94.0): + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 4.3.0 + serialize-javascript: 6.0.2 + terser: 5.39.0 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /terser-webpack-plugin@5.3.9(webpack@5.94.0): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.22.0 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /terser@5.22.0: + resolution: {integrity: sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.14.1 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /terser@5.39.0: + resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.14.1 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + dev: true + + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /ts-api-utils@1.0.3(typescript@5.2.2): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.2.2 + dev: true + + /ts-loader@9.5.0(typescript@5.2.2)(webpack@5.94.0): + resolution: {integrity: sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.15.0 + micromatch: 4.0.5 + semver: 7.5.4 + source-map: 0.7.4 + typescript: 5.2.2 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsutils@3.21.0(typescript@5.2.2): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + 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' + dependencies: + tslib: 1.14.1 + typescript: 5.2.2 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: true + + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /undici-types@5.25.3: + resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + dev: true + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /update-browserslist-db@1.1.3(browserslist@4.24.4): + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + dev: true + + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true + + /v8-to-istanbul@9.1.3: + resolution: {integrity: sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.5 + convert-source-map: 2.0.0 + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: true + + /wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + dependencies: + minimalistic-assert: 1.0.1 + dev: true + + /webfontloader@1.6.28: + resolution: {integrity: sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==} + dev: true + + /webpack-cli@5.1.4(webpack-dev-server@4.15.1)(webpack@5.94.0): + resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} + engines: {node: '>=14.15.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + webpack: 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.94.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.94.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.1)(webpack@5.94.0) + colorette: 2.0.20 + commander: 10.0.1 + cross-spawn: 7.0.3 + envinfo: 7.10.0 + fastest-levenshtein: 1.0.16 + import-local: 3.1.0 + interpret: 3.1.1 + rechoir: 0.8.0 + webpack: 5.94.0(webpack-cli@5.1.4) + webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.94.0) + webpack-merge: 5.10.0 + dev: true + + /webpack-dev-middleware@5.3.3(webpack@5.94.0): + resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.3.0 + webpack: 5.94.0(webpack-cli@5.1.4) + dev: true + + /webpack-dev-server@4.15.1(webpack-cli@5.1.4)(webpack@5.94.0): + resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + dependencies: + '@types/bonjour': 3.5.12 + '@types/connect-history-api-fallback': 1.5.2 + '@types/express': 4.17.20 + '@types/serve-index': 1.9.3 + '@types/serve-static': 1.15.4 + '@types/sockjs': 0.3.35 + '@types/ws': 8.5.8 + ansi-html-community: 0.0.8 + bonjour-service: 1.1.1 + chokidar: 3.5.3 + colorette: 2.0.20 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.18.2 + graceful-fs: 4.2.11 + html-entities: 2.4.0 + http-proxy-middleware: 2.0.6(@types/express@4.17.20) + ipaddr.js: 2.1.0 + launch-editor: 2.6.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.2.0 + selfsigned: 2.1.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack: 5.94.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-middleware: 5.3.3(webpack@5.94.0) + ws: 8.14.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: true + + /webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + dev: true + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack@5.94.0(webpack-cli@5.1.4): + resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.14.1 + acorn-import-attributes: 1.9.5(acorn@8.14.1) + browserslist: 4.24.4 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.1 + es-module-lexer: 1.6.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.14(webpack@5.94.0) + watchpack: 2.4.2 + webpack-cli: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + dev: true + + /websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yazl@2.5.1: + resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} + dependencies: + buffer-crc32: 0.2.13 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zip-webpack-plugin@4.0.1(webpack-sources@3.2.3)(webpack@5.94.0): + resolution: {integrity: sha512-G041Q4qUaog44Ynit6gs4o+o3JIv0WWfOLvc8Q3IxvPfuqd2KBHhpJWAXUB9Cm1JcWHTIOp9vS3oGMWa1p1Ehw==} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + webpack-sources: '*' + dependencies: + webpack: 5.94.0(webpack-cli@5.1.4) + webpack-sources: 3.2.3 + yazl: 2.5.1 + dev: true diff --git a/readme.md b/readme.md index f09c0bd3..b86b0e02 100644 --- a/readme.md +++ b/readme.md @@ -2,8 +2,8 @@ A neutral new tab page accented with a chosen colour. Customise the layout, style, background and bookmarks in nightTab -- a custom start page. -| [See the demo in action](https://zombiefox.github.io/nightTab/) | [Install nightTab Extension](https://chrome.google.com/webstore/detail/nighttab/hdpcadigjkbcpnlcpbcohpafiaefanki) | [Install nightTab Add On](https://addons.mozilla.org/en-GB/firefox/addon/nighttab/) | [Buy me a coffee](https://www.buymeacoffee.com/zombieFox/) | [Join the community](https://www.reddit.com/r/nighttab/) | -|:-------------:|:-------------:|:-------------:|:-------------:|:-------------:| +| [See the demo in action](https://zombiefox.github.io/nightTab/) | [Install nightTab Extension](https://chrome.google.com/webstore/detail/nighttab/hdpcadigjkbcpnlcpbcohpafiaefanki) | [Install nightTab Add On](https://addons.mozilla.org/en-GB/firefox/addon/nighttab/) | [Buy me a coffee](https://www.buymeacoffee.com/zombieFox/) | [Join the community](https://www.reddit.com/r/nighttab/) | +| :----------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------: | :-----------------------------------------------------------------------: | | [](https://zombiefox.github.io/nightTab/) | [![Chrome](asset/logo/chrome-48.png)](https://chrome.google.com/webstore/detail/nighttab/hdpcadigjkbcpnlcpbcohpafiaefanki) | [![Firefox](asset/logo/firefox-48.png)](https://addons.mozilla.org/en-GB/firefox/addon/nighttab/) | [![coffee](asset/logo/bymeacoffee-48.png)](https://www.buymeacoffee.com/zombieFox/) | [![Reddit](asset/logo/reddit-48.png)](https://www.reddit.com/r/nighttab/) | # Support @@ -24,12 +24,13 @@ A neutral new tab page accented with a chosen colour. Customise the layout, styl # Development When developing use: + - `npm start` A development server will automatically open the project in your browser. Normally here: `http://localhost:8080`. - To build the project use: + - `npm run build` A web ready folder will be created in `/dist/web/`. diff --git a/src/component/accentPreset/index.js b/src/component/accentPreset/index.js index fa67f553..6fb605ed 100644 --- a/src/component/accentPreset/index.js +++ b/src/component/accentPreset/index.js @@ -3,111 +3,564 @@ import { message } from '../message'; export const accentPreset = {}; accentPreset.get = () => { - return [ - { name: message.get('menuContentThemeAccentPresetColorGrey'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'grey', hsl: { h: 0, s: 0, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorGrey'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'grey', hsl: { h: 0, s: 0, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorGrey'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'grey', hsl: { h: 0, s: 0, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorGrey'), prefix: false, type: 'grey', hsl: { h: 0, s: 0, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorGrey'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'grey', hsl: { h: 0, s: 0, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorGrey'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'grey', hsl: { h: 0, s: 0, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorGrey'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'grey', hsl: { h: 0, s: 0, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorGrey'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'grey', + hsl: { h: 0, s: 0, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGrey'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'grey', + hsl: { h: 0, s: 0, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGrey'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'grey', + hsl: { h: 0, s: 0, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGrey'), + prefix: false, + type: 'grey', + hsl: { h: 0, s: 0, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGrey'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'grey', + hsl: { h: 0, s: 0, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGrey'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'grey', + hsl: { h: 0, s: 0, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGrey'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'grey', + hsl: { h: 0, s: 0, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorRed'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'primary', hsl: { h: 0, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorRed'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'primary', hsl: { h: 0, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorRed'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'primary', hsl: { h: 0, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorRed'), prefix: false, type: 'primary', hsl: { h: 0, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorRed'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'primary', hsl: { h: 0, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorRed'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'primary', hsl: { h: 0, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorRed'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'primary', hsl: { h: 0, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorRed'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'primary', + hsl: { h: 0, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorRed'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'primary', + hsl: { h: 0, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorRed'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'primary', + hsl: { h: 0, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorRed'), + prefix: false, + type: 'primary', + hsl: { h: 0, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorRed'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'primary', + hsl: { h: 0, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorRed'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'primary', + hsl: { h: 0, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorRed'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'primary', + hsl: { h: 0, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorOrange'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'secondary', hsl: { h: 30, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorOrange'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'secondary', hsl: { h: 30, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorOrange'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'secondary', hsl: { h: 30, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorOrange'), prefix: false, type: 'secondary', hsl: { h: 30, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorOrange'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'secondary', hsl: { h: 30, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorOrange'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'secondary', hsl: { h: 30, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorOrange'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'secondary', hsl: { h: 30, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorOrange'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'secondary', + hsl: { h: 30, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorOrange'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'secondary', + hsl: { h: 30, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorOrange'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'secondary', + hsl: { h: 30, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorOrange'), + prefix: false, + type: 'secondary', + hsl: { h: 30, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorOrange'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'secondary', + hsl: { h: 30, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorOrange'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'secondary', + hsl: { h: 30, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorOrange'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'secondary', + hsl: { h: 30, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorYellow'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'primary', hsl: { h: 60, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorYellow'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'primary', hsl: { h: 60, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorYellow'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'primary', hsl: { h: 60, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorYellow'), prefix: false, type: 'primary', hsl: { h: 60, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorYellow'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'primary', hsl: { h: 60, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorYellow'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'primary', hsl: { h: 60, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorYellow'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'primary', hsl: { h: 60, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorYellow'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'primary', + hsl: { h: 60, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorYellow'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'primary', + hsl: { h: 60, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorYellow'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'primary', + hsl: { h: 60, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorYellow'), + prefix: false, + type: 'primary', + hsl: { h: 60, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorYellow'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'primary', + hsl: { h: 60, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorYellow'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'primary', + hsl: { h: 60, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorYellow'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'primary', + hsl: { h: 60, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorLime'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'secondary', hsl: { h: 90, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorLime'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'secondary', hsl: { h: 90, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorLime'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'secondary', hsl: { h: 90, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorLime'), prefix: false, type: 'secondary', hsl: { h: 90, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorLime'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'secondary', hsl: { h: 90, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorLime'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'secondary', hsl: { h: 90, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorLime'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'secondary', hsl: { h: 90, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorLime'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'secondary', + hsl: { h: 90, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorLime'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'secondary', + hsl: { h: 90, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorLime'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'secondary', + hsl: { h: 90, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorLime'), + prefix: false, + type: 'secondary', + hsl: { h: 90, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorLime'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'secondary', + hsl: { h: 90, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorLime'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'secondary', + hsl: { h: 90, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorLime'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'secondary', + hsl: { h: 90, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorGreen'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'primary', hsl: { h: 120, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorGreen'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'primary', hsl: { h: 120, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorGreen'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'primary', hsl: { h: 120, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorGreen'), prefix: false, type: 'primary', hsl: { h: 120, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorGreen'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'primary', hsl: { h: 120, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorGreen'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'primary', hsl: { h: 120, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorGreen'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'primary', hsl: { h: 120, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorGreen'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'primary', + hsl: { h: 120, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGreen'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'primary', + hsl: { h: 120, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGreen'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'primary', + hsl: { h: 120, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGreen'), + prefix: false, + type: 'primary', + hsl: { h: 120, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGreen'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'primary', + hsl: { h: 120, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGreen'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'primary', + hsl: { h: 120, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorGreen'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'primary', + hsl: { h: 120, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorAqua'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'secondary', hsl: { h: 150, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorAqua'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'secondary', hsl: { h: 150, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorAqua'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'secondary', hsl: { h: 150, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorAqua'), prefix: false, type: 'secondary', hsl: { h: 150, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorAqua'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'secondary', hsl: { h: 150, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorAqua'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'secondary', hsl: { h: 150, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorAqua'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'secondary', hsl: { h: 150, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorAqua'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'secondary', + hsl: { h: 150, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorAqua'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'secondary', + hsl: { h: 150, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorAqua'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'secondary', + hsl: { h: 150, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorAqua'), + prefix: false, + type: 'secondary', + hsl: { h: 150, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorAqua'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'secondary', + hsl: { h: 150, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorAqua'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'secondary', + hsl: { h: 150, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorAqua'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'secondary', + hsl: { h: 150, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorCyan'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'primary', hsl: { h: 180, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorCyan'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'primary', hsl: { h: 180, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorCyan'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'primary', hsl: { h: 180, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorCyan'), prefix: false, type: 'primary', hsl: { h: 180, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorCyan'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'primary', hsl: { h: 180, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorCyan'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'primary', hsl: { h: 180, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorCyan'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'primary', hsl: { h: 180, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorCyan'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'primary', + hsl: { h: 180, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorCyan'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'primary', + hsl: { h: 180, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorCyan'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'primary', + hsl: { h: 180, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorCyan'), + prefix: false, + type: 'primary', + hsl: { h: 180, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorCyan'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'primary', + hsl: { h: 180, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorCyan'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'primary', + hsl: { h: 180, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorCyan'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'primary', + hsl: { h: 180, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorTeal'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'secondary', hsl: { h: 210, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorTeal'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'secondary', hsl: { h: 210, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorTeal'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'secondary', hsl: { h: 210, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorTeal'), prefix: false, type: 'secondary', hsl: { h: 210, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorTeal'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'secondary', hsl: { h: 210, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorTeal'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'secondary', hsl: { h: 210, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorTeal'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'secondary', hsl: { h: 210, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorTeal'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'secondary', + hsl: { h: 210, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorTeal'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'secondary', + hsl: { h: 210, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorTeal'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'secondary', + hsl: { h: 210, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorTeal'), + prefix: false, + type: 'secondary', + hsl: { h: 210, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorTeal'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'secondary', + hsl: { h: 210, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorTeal'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'secondary', + hsl: { h: 210, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorTeal'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'secondary', + hsl: { h: 210, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorBlue'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'primary', hsl: { h: 240, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorBlue'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'primary', hsl: { h: 240, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorBlue'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'primary', hsl: { h: 240, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorBlue'), prefix: false, type: 'primary', hsl: { h: 240, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorBlue'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'primary', hsl: { h: 240, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorBlue'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'primary', hsl: { h: 240, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorBlue'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'primary', hsl: { h: 240, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorBlue'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'primary', + hsl: { h: 240, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorBlue'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'primary', + hsl: { h: 240, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorBlue'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'primary', + hsl: { h: 240, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorBlue'), + prefix: false, + type: 'primary', + hsl: { h: 240, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorBlue'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'primary', + hsl: { h: 240, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorBlue'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'primary', + hsl: { h: 240, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorBlue'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'primary', + hsl: { h: 240, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorPurple'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'secondary', hsl: { h: 270, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorPurple'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'secondary', hsl: { h: 270, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorPurple'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'secondary', hsl: { h: 270, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorPurple'), prefix: false, type: 'secondary', hsl: { h: 270, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorPurple'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'secondary', hsl: { h: 270, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorPurple'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'secondary', hsl: { h: 270, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorPurple'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'secondary', hsl: { h: 270, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorPurple'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'secondary', + hsl: { h: 270, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorPurple'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'secondary', + hsl: { h: 270, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorPurple'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'secondary', + hsl: { h: 270, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorPurple'), + prefix: false, + type: 'secondary', + hsl: { h: 270, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorPurple'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'secondary', + hsl: { h: 270, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorPurple'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'secondary', + hsl: { h: 270, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorPurple'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'secondary', + hsl: { h: 270, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorMagenta'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'primary', hsl: { h: 300, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorMagenta'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'primary', hsl: { h: 300, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorMagenta'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'primary', hsl: { h: 300, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorMagenta'), prefix: false, type: 'primary', hsl: { h: 300, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorMagenta'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'primary', hsl: { h: 300, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorMagenta'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'primary', hsl: { h: 300, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorMagenta'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'primary', hsl: { h: 300, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorMagenta'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'primary', + hsl: { h: 300, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorMagenta'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'primary', + hsl: { h: 300, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorMagenta'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'primary', + hsl: { h: 300, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorMagenta'), + prefix: false, + type: 'primary', + hsl: { h: 300, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorMagenta'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'primary', + hsl: { h: 300, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorMagenta'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'primary', + hsl: { h: 300, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorMagenta'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'primary', + hsl: { h: 300, s: 40, l: 10 }, + }, - { name: message.get('menuContentThemeAccentPresetColorFuchsia'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), type: 'secondary', hsl: { h: 330, s: 40, l: 90 } }, - { name: message.get('menuContentThemeAccentPresetColorFuchsia'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), type: 'secondary', hsl: { h: 330, s: 60, l: 77 } }, - { name: message.get('menuContentThemeAccentPresetColorFuchsia'), prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), type: 'secondary', hsl: { h: 330, s: 80, l: 63 } }, - { name: message.get('menuContentThemeAccentPresetColorFuchsia'), prefix: false, type: 'secondary', hsl: { h: 330, s: 100, l: 50 } }, - { name: message.get('menuContentThemeAccentPresetColorFuchsia'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), type: 'secondary', hsl: { h: 330, s: 80, l: 37 } }, - { name: message.get('menuContentThemeAccentPresetColorFuchsia'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), type: 'secondary', hsl: { h: 330, s: 60, l: 23 } }, - { name: message.get('menuContentThemeAccentPresetColorFuchsia'), prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), type: 'secondary', hsl: { h: 330, s: 40, l: 10 } }, + { + name: message.get('menuContentThemeAccentPresetColorFuchsia'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel3'), + type: 'secondary', + hsl: { h: 330, s: 40, l: 90 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorFuchsia'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel2'), + type: 'secondary', + hsl: { h: 330, s: 60, l: 77 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorFuchsia'), + prefix: message.get('menuContentThemeAccentPresetModifierLightLevel1'), + type: 'secondary', + hsl: { h: 330, s: 80, l: 63 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorFuchsia'), + prefix: false, + type: 'secondary', + hsl: { h: 330, s: 100, l: 50 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorFuchsia'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel1'), + type: 'secondary', + hsl: { h: 330, s: 80, l: 37 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorFuchsia'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel2'), + type: 'secondary', + hsl: { h: 330, s: 60, l: 23 }, + }, + { + name: message.get('menuContentThemeAccentPresetColorFuchsia'), + prefix: message.get('menuContentThemeAccentPresetModifierDarkLevel3'), + type: 'secondary', + hsl: { h: 330, s: 40, l: 10 }, + }, ]; - }; diff --git a/src/component/accentPresetButton/index.css b/src/component/accentPresetButton/index.css index a9d22f27..64674e52 100644 --- a/src/component/accentPresetButton/index.css +++ b/src/component/accentPresetButton/index.css @@ -28,7 +28,11 @@ } .theme-accent-preset-preview { - background-color: hsl(var(--theme-accent-preset-color-hsl-h), calc(var(--theme-accent-preset-color-hsl-s) * 1%), calc(var(--theme-accent-preset-color-hsl-l) * 1%)); + background-color: hsl( + var(--theme-accent-preset-color-hsl-h), + calc(var(--theme-accent-preset-color-hsl-s) * 1%), + calc(var(--theme-accent-preset-color-hsl-l) * 1%) + ); position: absolute; top: 0; left: 0; diff --git a/src/component/accentPresetButton/index.js b/src/component/accentPresetButton/index.js index bd72540b..0d122a4c 100644 --- a/src/component/accentPresetButton/index.js +++ b/src/component/accentPresetButton/index.js @@ -12,9 +12,7 @@ import { applyCSSVar } from '../../utility/applyCSSVar'; import './index.css'; export const AccentPresetButton = function ({ presetData = false } = {}) { - this.name = () => { - let fullName = presetData.name; if (presetData.prefix) { @@ -22,7 +20,6 @@ export const AccentPresetButton = function ({ presetData = false } = {}) { } return fullName; - }; this.element = { @@ -30,10 +27,14 @@ export const AccentPresetButton = function ({ presetData = false } = {}) { text: this.name(), title: this.name(), srOnly: true, - classList: ['theme-accent-preset-button', 'theme-accent-preset-type-' + presetData.type], + classList: [ + 'theme-accent-preset-button', + 'theme-accent-preset-type-' + presetData.type, + ], func: () => { - - state.get.current().theme.accent.rgb = convertColor.hsl.rgb(presetData.hsl); + state.get.current().theme.accent.rgb = convertColor.hsl.rgb( + presetData.hsl + ); state.get.current().theme.accent.hsl = presetData.hsl; @@ -43,7 +44,7 @@ export const AccentPresetButton = function ({ presetData = false } = {}) { 'theme.accent.rgb.b', 'theme.accent.hsl.h', 'theme.accent.hsl.s', - 'theme.accent.hsl.l' + 'theme.accent.hsl.l', ]); toolbar.current.update.style(); @@ -53,36 +54,37 @@ export const AccentPresetButton = function ({ presetData = false } = {}) { themeSetting.control.accent.color.update(); data.save(); - - } + }, }), - preview: node('span|class:theme-accent-preset-preview') + preview: node('span|class:theme-accent-preset-preview'), }; this.previewTile = () => { - - this.element.preview.style.setProperty('--theme-accent-preset-color-hsl-h', presetData.hsl.h); - - this.element.preview.style.setProperty('--theme-accent-preset-color-hsl-s', presetData.hsl.s); - - this.element.preview.style.setProperty('--theme-accent-preset-color-hsl-l', presetData.hsl.l); - + this.element.preview.style.setProperty( + '--theme-accent-preset-color-hsl-h', + presetData.hsl.h + ); + + this.element.preview.style.setProperty( + '--theme-accent-preset-color-hsl-s', + presetData.hsl.s + ); + + this.element.preview.style.setProperty( + '--theme-accent-preset-color-hsl-l', + presetData.hsl.l + ); }; this.assemble = () => { - this.previewTile(); this.element.button.button.appendChild(this.element.preview); - }; this.button = () => { - return this.element.button.button; - }; this.assemble(); - }; diff --git a/src/component/alert/index.css b/src/component/alert/index.css index 2b3ad5ed..4e8f0c4f 100644 --- a/src/component/alert/index.css +++ b/src/component/alert/index.css @@ -15,7 +15,9 @@ .alert-header { background-color: hsl(var(--alert-header-background)); - padding: calc((var(--alert-space) / 4) * 1em) calc((var(--alert-space) / 4) * 1em) calc((var(--alert-space) / 4) * 1em) calc(((var(--alert-space) / 4) * 1em) + (var(--theme-radius) / 100) * 0.1em); + padding: calc((var(--alert-space) / 4) * 1em) + calc((var(--alert-space) / 4) * 1em) calc((var(--alert-space) / 4) * 1em) + calc(((var(--alert-space) / 4) * 1em) + (var(--theme-radius) / 100) * 0.1em); border-top-left-radius: calc(var(--theme-radius) * 0.01em); border-bottom-left-radius: calc(var(--theme-radius) * 0.01em); display: flex; @@ -28,7 +30,9 @@ background-color: hsl(var(--alert-body-background)); border-top-right-radius: calc(var(--theme-radius) * 0.01em); border-bottom-right-radius: calc(var(--theme-radius) * 0.01em); - padding: calc((var(--alert-space) / 4) * 1em) calc(((var(--alert-space) / 4) * 1em) + (var(--theme-radius) / 100) * 0.1em) calc((var(--alert-space) / 4) * 1em) calc((var(--alert-space) / 4) * 1em); + padding: calc((var(--alert-space) / 4) * 1em) + calc(((var(--alert-space) / 4) * 1em) + (var(--theme-radius) / 100) * 0.1em) + calc((var(--alert-space) / 4) * 1em) calc((var(--alert-space) / 4) * 1em); flex-grow: 1; display: flex; flex-direction: row; @@ -38,7 +42,8 @@ .alert-body:only-child { border-radius: calc(var(--theme-radius) * 0.01em); - padding: calc((var(--alert-space) / 4) * 1em) calc(((var(--alert-space) / 4) * 1em) + (var(--theme-radius) / 100) * 0.1em); + padding: calc((var(--alert-space) / 4) * 1em) + calc(((var(--alert-space) / 4) * 1em) + (var(--theme-radius) / 100) * 0.1em); } .alert-icon { diff --git a/src/component/alert/index.js b/src/component/alert/index.js index 544ec8bf..8a830f5f 100644 --- a/src/component/alert/index.js +++ b/src/component/alert/index.js @@ -6,35 +6,27 @@ import { node } from '../../utility/node'; import './index.css'; -export const Alert = function ({ - children = [], - iconName = false -} = {}) { - +export const Alert = function ({ children = [], iconName = false } = {}) { this.element = { alert: node('div|class:alert'), header: node('div|class:alert-header'), body: node('div|class:alert-body'), icon: node('div|class:alert-icon'), - message: node('div|class:alert-message', children) + message: node('div|class:alert-message', children), }; this.assemble = () => { - if (iconName) { - this.element.icon.appendChild(icon.render(iconName)); this.element.header.appendChild(this.element.icon); this.element.alert.appendChild(this.element.header); - } this.element.body.appendChild(this.element.message); this.element.alert.appendChild(this.element.body); - }; this.alert = () => { @@ -43,12 +35,9 @@ export const Alert = function ({ this.wrap = () => { return form.wrap({ - children: [ - this.element.alert - ] + children: [this.element.alert], }); }; this.assemble(); - }; diff --git a/src/component/body/index.css b/src/component/body/index.css index abf44d0d..2598aff3 100644 --- a/src/component/body/index.css +++ b/src/component/body/index.css @@ -43,7 +43,6 @@ html.is-theme-style-light, } @media (prefers-color-scheme: light) { - html.is-theme-style-system, .is-theme-style-system body { background-color: hsl(var(--theme-primary-010)); @@ -52,7 +51,6 @@ html.is-theme-style-light, } @media (prefers-color-scheme: dark) { - html.is-theme-style-system, .is-theme-style-system body { background-color: hsl(var(--theme-primary-010)); diff --git a/src/component/bookmark/index.css b/src/component/bookmark/index.css index 1505fd9e..b37e84b5 100644 --- a/src/component/bookmark/index.css +++ b/src/component/bookmark/index.css @@ -41,40 +41,57 @@ } .is-theme-bookmark-color-by-custom .bookmark-area { - background-color: hsla(var(--theme-bookmark-color-hsl-h), calc(var(--theme-bookmark-color-hsl-s) * 1%), calc(var(--theme-bookmark-color-hsl-l) * 1%), calc(var(--theme-bookmark-color-opacity) / 100)); + background-color: hsla( + var(--theme-bookmark-color-hsl-h), + calc(var(--theme-bookmark-color-hsl-s) * 1%), + calc(var(--theme-bookmark-color-hsl-l) * 1%), + calc(var(--theme-bookmark-color-opacity) / 100) + ); border-radius: calc(var(--theme-radius) * 0.01em); } -.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-layout-divider-size.is-theme-bookmark-color-by-custom .bookmark-area, -.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-layout-color-by-custom .bookmark-area, -.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-bookmark-color-by-custom.is-theme-header-color-by-custom .bookmark-area { +.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-layout-divider-size.is-theme-bookmark-color-by-custom + .bookmark-area, +.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-layout-color-by-custom + .bookmark-area, +.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-bookmark-color-by-custom.is-theme-header-color-by-custom + .bookmark-area { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: calc(var(--theme-radius) * 0.01em); border-bottom-right-radius: calc(var(--theme-radius) * 0.01em); } -.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-layout-divider-size.is-theme-bookmark-color-by-custom .bookmark-area, -.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-layout-color-by-custom .bookmark-area, -.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-bookmark-color-by-custom.is-theme-header-color-by-custom .bookmark-area { +.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-layout-divider-size.is-theme-bookmark-color-by-custom + .bookmark-area, +.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-layout-color-by-custom + .bookmark-area, +.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-bookmark-color-by-custom.is-theme-header-color-by-custom + .bookmark-area { border-top-left-radius: calc(var(--theme-radius) * 0.01em); border-top-right-radius: calc(var(--theme-radius) * 0.01em); border-bottom-left-radius: 0; border-bottom-right-radius: 0; } -.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-layout-divider-size.is-theme-bookmark-color-by-custom .bookmark-area, -.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-layout-color-by-custom .bookmark-area, -.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-bookmark-color-by-custom.is-theme-header-color-by-custom .bookmark-area { +.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-layout-divider-size.is-theme-bookmark-color-by-custom + .bookmark-area, +.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-layout-color-by-custom + .bookmark-area, +.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-bookmark-color-by-custom.is-theme-header-color-by-custom + .bookmark-area { border-top-left-radius: 0; border-top-right-radius: calc(var(--theme-radius) * 0.01em); border-bottom-left-radius: 0; border-bottom-right-radius: calc(var(--theme-radius) * 0.01em); } -.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-layout-divider-size.is-theme-bookmark-color-by-custom .bookmark-area, -.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-layout-color-by-custom .bookmark-area, -.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-bookmark-color-by-custom.is-theme-header-color-by-custom .bookmark-area { +.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-layout-divider-size.is-theme-bookmark-color-by-custom + .bookmark-area, +.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-layout-color-by-custom + .bookmark-area, +.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-bookmark-color-by-custom.is-theme-header-color-by-custom + .bookmark-area { border-top-left-radius: calc(var(--theme-radius) * 0.01em); border-top-right-radius: 0; border-bottom-left-radius: calc(var(--theme-radius) * 0.01em); @@ -135,7 +152,6 @@ } @media (min-width: 900px) { - .is-layout-breakpoint-md.is-bookmark-style-list .bookmark-wide, .is-layout-breakpoint-lg.is-bookmark-style-list .bookmark-wide, .is-layout-breakpoint-xl.is-bookmark-style-list .bookmark-wide, @@ -159,7 +175,6 @@ } @media (min-width: 900px) { - .is-layout-breakpoint-md.is-bookmark-orientation-top .bookmark-wide, .is-layout-breakpoint-lg.is-bookmark-orientation-top .bookmark-wide, .is-layout-breakpoint-xl.is-bookmark-orientation-top .bookmark-wide, @@ -173,8 +188,12 @@ } .bookmark-front { - background-color: hsla(var(--bookmark-color), calc(var(--theme-bookmark-item-opacity) / 100)); - border: calc(var(--bookmark-border) * var(--layout-line-width)) solid rgb(var(--theme-accent)); + background-color: hsla( + var(--bookmark-color), + calc(var(--theme-bookmark-item-opacity) / 100) + ); + border: calc(var(--bookmark-border) * var(--layout-line-width)) solid + rgb(var(--theme-accent)); border-radius: calc(var(--theme-radius) * 0.01em); position: absolute; left: 0; @@ -187,7 +206,10 @@ text-decoration: none; outline: none; user-select: none; - transition: background-color var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast), height var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast), + height var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); } .bookmark:focus-within .bookmark-front, @@ -195,7 +217,10 @@ .bookmark:hover .bookmark-front, .bookmark-front:focus, .bookmark-front:hover { - background-color: hsla(var(--bookmark-color-focus-hover), calc(var(--theme-bookmark-item-opacity) / 100)); + background-color: hsla( + var(--bookmark-color-focus-hover), + calc(var(--theme-bookmark-item-opacity) / 100) + ); } .is-bookmark-edit .bookmark-front { @@ -217,16 +242,28 @@ bottom: inherit; } -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark:focus .bookmark-front, -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark:focus-within .bookmark-front, -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark:hover .bookmark-front { +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark:focus + .bookmark-front, +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark:focus-within + .bookmark-front, +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark:hover + .bookmark-front { border-top-left-radius: calc((var(--theme-radius) * 0.25) * 0.01em); border-top-right-radius: calc((var(--theme-radius) * 0.25) * 0.01em); } -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark:focus .bookmark-front, -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark:focus-within .bookmark-front, -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark:hover .bookmark-front { +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark:focus + .bookmark-front, +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark:focus-within + .bookmark-front, +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark:hover + .bookmark-front { border-bottom-left-radius: calc((var(--theme-radius) * 0.25) * 0.01em); border-bottom-right-radius: calc((var(--theme-radius) * 0.25) * 0.01em); } @@ -239,33 +276,61 @@ } .is-bookmark-edit.is-bookmark-orientation-bottom .bookmark .bookmark-front, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark:hover .bookmark-front, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark:focus .bookmark-front { +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark:hover + .bookmark-front, +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark:focus + .bookmark-front { border-bottom-left-radius: calc((var(--theme-radius) * 0.25) * 0.01em); border-bottom-right-radius: calc((var(--theme-radius) * 0.25) * 0.01em); } -.is-bookmark-shadow-show.is-bookmark-orientation-bottom .bookmark:focus .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom .bookmark:focus-within .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom .bookmark:hover .bookmark-front { +.is-bookmark-shadow-show.is-bookmark-orientation-bottom + .bookmark:focus + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom + .bookmark:focus-within + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom + .bookmark:hover + .bookmark-front { box-shadow: var(--theme-shadow-bottom-large); } -.is-bookmark-shadow-show.is-bookmark-orientation-top .bookmark:focus .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top .bookmark:focus-within .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top .bookmark:hover .bookmark-front { +.is-bookmark-shadow-show.is-bookmark-orientation-top + .bookmark:focus + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top + .bookmark:focus-within + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top + .bookmark:hover + .bookmark-front { box-shadow: var(--theme-shadow-top-large); } -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark:hover .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark:focus .bookmark-front { +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark:hover + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark:focus + .bookmark-front { box-shadow: var(--theme-shadow-bottom-medium); } -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark:hover .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark:focus .bookmark-front { +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark:hover + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark:focus + .bookmark-front { box-shadow: var(--theme-shadow-top-medium); } @@ -285,7 +350,8 @@ } .is-bookmark-style-list .bookmark-link { - padding: calc((var(--bookmark-padding) * 0.5) * 0.1em) calc((var(--bookmark-padding) * 1.25) * 0.1em); + padding: calc((var(--bookmark-padding) * 0.5) * 0.1em) + calc((var(--bookmark-padding) * 1.25) * 0.1em); } .bookmark-link:focus, @@ -309,7 +375,9 @@ gap: calc(var(--bookmark-display-gutter) * 0.025em); font-size: 1em; transition: font-size var(--layout-transition-extra-fast); - transform: translateX(calc(var(--bookmark-display-translate-x) * 0.1em)) translateY(calc(var(--bookmark-display-translate-y) * 0.1em)) rotate(calc(var(--bookmark-display-rotate) * 1deg)); + transform: translateX(calc(var(--bookmark-display-translate-x) * 0.1em)) + translateY(calc(var(--bookmark-display-translate-y) * 0.1em)) + rotate(calc(var(--bookmark-display-rotate) * 1deg)); } .is-bookmark-edit .bookmark-display { @@ -362,198 +430,238 @@ align-items: flex-end; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name + .bookmark-display { flex-direction: row; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual + .bookmark-display { flex-direction: row-reverse; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name + .bookmark-display { flex-direction: column; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual + .bookmark-display { flex-direction: column-reverse; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-top-left .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-top-left + .bookmark-display { justify-content: flex-start; align-items: flex-start; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-top-center .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-top-center + .bookmark-display { justify-content: flex-start; align-items: center; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-top-right .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-top-right + .bookmark-display { justify-content: flex-start; align-items: flex-end; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-center-left .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-center-left + .bookmark-display { justify-content: center; align-items: flex-start; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-center-center .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-center-center + .bookmark-display { justify-content: center; align-items: center; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-center-right .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-center-right + .bookmark-display { justify-content: center; align-items: flex-end; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-left .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-left + .bookmark-display { justify-content: flex-end; align-items: flex-start; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-center .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-center + .bookmark-display { justify-content: flex-end; align-items: center; } -.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-right .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-right + .bookmark-display { justify-content: flex-end; align-items: flex-end; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-top-left .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-top-left + .bookmark-display { justify-content: flex-end; align-items: flex-start; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-top-center .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-top-center + .bookmark-display { justify-content: flex-end; align-items: center; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-top-right .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-top-right + .bookmark-display { justify-content: flex-end; align-items: flex-end; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-center-left .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-center-left + .bookmark-display { justify-content: center; align-items: flex-start; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-center-center .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-center-center + .bookmark-display { justify-content: center; align-items: center; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-center-right .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-center-right + .bookmark-display { justify-content: center; align-items: flex-end; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-left .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-left + .bookmark-display { justify-content: flex-start; align-items: flex-start; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-center .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-center + .bookmark-display { justify-content: flex-start; align-items: center; } -.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-right .bookmark-display { +.is-bookmark-direction-vertical.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-right + .bookmark-display { justify-content: flex-start; align-items: flex-end; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-top-left .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-top-left + .bookmark-display { justify-content: flex-start; align-items: flex-start; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-top-center .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-top-center + .bookmark-display { justify-content: center; align-items: flex-start; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-top-right .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-top-right + .bookmark-display { justify-content: flex-end; align-items: flex-start; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-center-left .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-center-left + .bookmark-display { justify-content: flex-start; align-items: center; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-center-center .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-center-center + .bookmark-display { justify-content: center; align-items: center; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-center-right .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-center-right + .bookmark-display { justify-content: flex-end; align-items: center; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-left .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-left + .bookmark-display { justify-content: flex-start; align-items: flex-end; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-center .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-center + .bookmark-display { justify-content: center; align-items: flex-end; } -.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-right .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-visual-name.is-bookmark-alignment-bottom-right + .bookmark-display { justify-content: flex-end; align-items: flex-end; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-top-left .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-top-left + .bookmark-display { justify-content: flex-end; align-items: flex-start; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-top-center .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-top-center + .bookmark-display { justify-content: center; align-items: flex-start; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-top-right .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-top-right + .bookmark-display { justify-content: flex-start; align-items: flex-start; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-center-left .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-center-left + .bookmark-display { justify-content: flex-end; align-items: center; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-center-center .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-center-center + .bookmark-display { justify-content: center; align-items: center; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-center-right .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-center-right + .bookmark-display { justify-content: flex-start; align-items: center; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-left .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-left + .bookmark-display { justify-content: flex-end; align-items: flex-end; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-center .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-center + .bookmark-display { justify-content: center; align-items: flex-end; } -.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-right .bookmark-display { +.is-bookmark-direction-horizontal.is-bookmark-order-name-visual.is-bookmark-alignment-bottom-right + .bookmark-display { justify-content: flex-start; align-items: flex-end; } @@ -613,12 +721,16 @@ --bookmark-display-name-color-focus-hover: var(--theme-primary-text-010); } -.is-theme-background-type-accent .is-bookmark-opacity-low .bookmark-display-name { +.is-theme-background-type-accent + .is-bookmark-opacity-low + .bookmark-display-name { --bookmark-display-name-color: var(--theme-accent-text); --bookmark-display-name-color-focus-hover: var(--theme-accent-text); } -.is-theme-background-type-color .is-bookmark-opacity-low .bookmark-display-name { +.is-theme-background-type-color + .is-bookmark-opacity-low + .bookmark-display-name { --bookmark-display-name-color: var(--theme-background-color-text); --bookmark-display-name-color-focus-hover: var(--theme-background-color-text); } @@ -653,7 +765,10 @@ display: flex; flex-direction: column; z-index: 2; - transition: height var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast), top var(--layout-transition-extra-fast), clip-path var(--layout-transition-extra-fast); + transition: height var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast), + top var(--layout-transition-extra-fast), + clip-path var(--layout-transition-extra-fast); } .is-bookmark-edit .bookmark-back { @@ -663,7 +778,11 @@ } .is-theme-accent-cycle-active .bookmark-back { - transition: background-color var(--layout-transition-extra-fast), height var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast), top var(--layout-transition-extra-fast), clip-path var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + height var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast), + top var(--layout-transition-extra-fast), + clip-path var(--layout-transition-extra-fast); transition-delay: none; } @@ -683,25 +802,55 @@ height: 100%; } -.is-bookmark-edit.is-bookmark-line-show.is-bookmark-orientation-top .bookmark-back, -.is-bookmark-edit.is-bookmark-line-show.is-bookmark-orientation-bottom .bookmark-back { +.is-bookmark-edit.is-bookmark-line-show.is-bookmark-orientation-top + .bookmark-back, +.is-bookmark-edit.is-bookmark-line-show.is-bookmark-orientation-bottom + .bookmark-back { top: 0; } .is-bookmark-orientation-top .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc((var(--bookmark-clip-padding) * 1em)), 0 calc((var(--bookmark-clip-padding) * 1em))); + clip-path: polygon( + 0 0, + 100% 0, + 100% calc((var(--bookmark-clip-padding) * 1em)), + 0 calc((var(--bookmark-clip-padding) * 1em)) + ); } .is-bookmark-orientation-bottom .bookmark-back { - clip-path: polygon(0 calc(100% - calc(var(--bookmark-clip-padding) * 1em)), 100% calc(100% - calc(var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); + clip-path: polygon( + 0 calc(100% - calc(var(--bookmark-clip-padding) * 1em)), + 100% calc(100% - calc(var(--bookmark-clip-padding) * 1em)), + 100% 100%, + 0 100% + ); } .is-bookmark-orientation-top.is-bookmark-line-show .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc(var(--layout-line-width) + (var(--bookmark-clip-padding) * 1em)), 0 calc(var(--layout-line-width) + (var(--bookmark-clip-padding) * 1em))); + clip-path: polygon( + 0 0, + 100% 0, + 100% calc(var(--layout-line-width) + (var(--bookmark-clip-padding) * 1em)), + 0 calc(var(--layout-line-width) + (var(--bookmark-clip-padding) * 1em)) + ); } .is-bookmark-orientation-bottom.is-bookmark-line-show .bookmark-back { - clip-path: polygon(0 calc(100% - var(--layout-line-width) - calc(var(--bookmark-clip-padding) * 1em)), 100% calc(100% - var(--layout-line-width) - calc(var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); + clip-path: polygon( + 0 + calc( + 100% - var(--layout-line-width) - + calc(var(--bookmark-clip-padding) * 1em) + ), + 100% + calc( + 100% - var(--layout-line-width) - + calc(var(--bookmark-clip-padding) * 1em) + ), + 100% 100%, + 0 100% + ); } .is-bookmark-orientation-top .bookmark:focus .bookmark-back, @@ -714,30 +863,102 @@ height: 100%; } -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark:focus .bookmark-back, -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark:focus-within .bookmark-back, -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark:hover .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc(var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em)), 0 calc(var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em))); -} - -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark:focus .bookmark-back, -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark:focus-within .bookmark-back, -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark:hover .bookmark-back { - clip-path: polygon(0 calc(100% - calc(var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em))), 100% calc(100% - calc(var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em))), 100% 100%, 0 100%); +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark:focus + .bookmark-back, +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark:focus-within + .bookmark-back, +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark:hover + .bookmark-back { + clip-path: polygon( + 0 0, + 100% 0, + 100% + calc( + var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em) + ), + 0 + calc( + var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em) + ) + ); +} + +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark:focus + .bookmark-back, +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark:focus-within + .bookmark-back, +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark:hover + .bookmark-back { + clip-path: polygon( + 0 + calc( + 100% - + calc( + var(--bookmark-url-height) + + calc(var(--bookmark-clip-padding) * 1em) + ) + ), + 100% + calc( + 100% - + calc( + var(--bookmark-url-height) + + calc(var(--bookmark-clip-padding) * 1em) + ) + ), + 100% 100%, + 0 100% + ); } .is-bookmark-edit.is-bookmark-orientation-top .bookmark .bookmark-back, .is-bookmark-edit.is-bookmark-orientation-top .bookmark:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top .bookmark:focus-within .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top + .bookmark:focus-within + .bookmark-back, .is-bookmark-edit.is-bookmark-orientation-top .bookmark:hover .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc(var(--bookmark-edit-height) + calc(var(--bookmark-clip-padding) * 1em)), 0 calc(var(--bookmark-edit-height) + calc(var(--bookmark-clip-padding) * 1em))); + clip-path: polygon( + 0 0, + 100% 0, + 100% + calc( + var(--bookmark-edit-height) + calc(var(--bookmark-clip-padding) * 1em) + ), + 0 + calc( + var(--bookmark-edit-height) + calc(var(--bookmark-clip-padding) * 1em) + ) + ); } .is-bookmark-edit.is-bookmark-orientation-bottom .bookmark .bookmark-back, .is-bookmark-edit.is-bookmark-orientation-bottom .bookmark:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark:hover .bookmark-back { - clip-path: polygon(0 calc(100% - var(--bookmark-edit-height) - calc(var(--bookmark-clip-padding) * 1em)), 100% calc(100% - var(--bookmark-edit-height) - calc(var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark:hover + .bookmark-back { + clip-path: polygon( + 0 + calc( + 100% - var(--bookmark-edit-height) - + calc(var(--bookmark-clip-padding) * 1em) + ), + 100% + calc( + 100% - var(--bookmark-edit-height) - + calc(var(--bookmark-clip-padding) * 1em) + ), + 100% 100%, + 0 100% + ); } .bookmark-background-wrap { @@ -803,7 +1024,8 @@ grid-template-rows: repeat(2, 1fr); overflow: hidden; pointer-events: none; - transition: top var(--layout-transition-extra-fast), bottom var(--layout-transition-extra-fast); + transition: top var(--layout-transition-extra-fast), + bottom var(--layout-transition-extra-fast); transition-delay: calc(var(--bookmark-transition-delay) * 0.03s); } @@ -818,30 +1040,52 @@ } @media (min-width: 900px) { - - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control { + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control { grid-template-columns: repeat(5, 1fr); grid-template-rows: 1fr; } } @media (min-width: 900px) { - - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control { + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control { padding-left: 3em; padding-right: 3em; } - .is-layout-breakpoint-md.is-bookmark-style-list .bookmark-wide .bookmark-control, - .is-layout-breakpoint-lg.is-bookmark-style-list .bookmark-wide .bookmark-control, - .is-layout-breakpoint-xl.is-bookmark-style-list .bookmark-wide .bookmark-control, - .is-layout-breakpoint-xxl.is-bookmark-style-list .bookmark-wide .bookmark-control { + .is-layout-breakpoint-md.is-bookmark-style-list + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-lg.is-bookmark-style-list + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-xl.is-bookmark-style-list + .bookmark-wide + .bookmark-control, + .is-layout-breakpoint-xxl.is-bookmark-style-list + .bookmark-wide + .bookmark-control { padding-left: 10em; padding-right: 10em; } @@ -857,13 +1101,15 @@ .is-bookmark-edit.is-bookmark-orientation-top .bookmark-control { top: 0; - transition: top var(--layout-duration-04) var(--layout-timing-bounce) var(--layout-duration-01); + transition: top var(--layout-duration-04) var(--layout-timing-bounce) + var(--layout-duration-01); transition-delay: calc(var(--bookmark-transition-delay) * 0.03s); } .is-bookmark-edit.is-bookmark-orientation-bottom .bookmark-control { bottom: 0; - transition: bottom var(--layout-duration-04) var(--layout-timing-bounce) var(--layout-duration-01); + transition: bottom var(--layout-duration-04) var(--layout-timing-bounce) + var(--layout-duration-01); transition-delay: calc(var(--bookmark-transition-delay) * 0.03s); } @@ -873,7 +1119,11 @@ min-height: initial; position: relative; color: hsl(var(--theme-accent-text)); - transition: background-color var(--layout-transition-fast), border-color var(--layout-transition-fast), color var(--layout-transition-fast), top var(--layout-transition-fast), right var(--layout-transition-fast), bottom var(--layout-transition-fast), left var(--layout-transition-fast); + transition: background-color var(--layout-transition-fast), + border-color var(--layout-transition-fast), + color var(--layout-transition-fast), top var(--layout-transition-fast), + right var(--layout-transition-fast), bottom var(--layout-transition-fast), + left var(--layout-transition-fast); } .bookmark-control-button:hover, @@ -927,7 +1177,8 @@ grid-row: 1; } -.is-bookmark-orientation-bottom.is-bookmark-style-block .bookmark-control-right { +.is-bookmark-orientation-bottom.is-bookmark-style-block + .bookmark-control-right { grid-column: 5 / span 2; grid-row: 1; } @@ -937,7 +1188,8 @@ grid-row: 2; } -.is-bookmark-orientation-bottom.is-bookmark-style-block .bookmark-control-remove { +.is-bookmark-orientation-bottom.is-bookmark-style-block + .bookmark-control-remove { grid-column: 4 / span 3; grid-row: 2; } @@ -963,62 +1215,141 @@ } @media (min-width: 900px) { - - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-left, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-left, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-left, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-left, - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-sort, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-sort, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-sort, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-sort, - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-right, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-right, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-right, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-right, - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-edit, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-edit, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-edit, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-edit, - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-remove, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-remove, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-remove, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-remove { + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-left, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-left, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-left, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-left, + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-sort, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-sort, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-sort, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-sort, + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-right, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-right, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-right, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-right, + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-edit, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-edit, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-edit, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-edit, + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-remove, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-remove, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-remove, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-remove { grid-row: 1; } - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-left, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-left, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-left, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-left { + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-left, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-left, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-left, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-left { grid-column: 1; } - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-sort, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-sort, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-sort, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-sort { + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-sort, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-sort, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-sort, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-sort { grid-column: 2; } - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-right, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-right, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-right, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-right { + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-right, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-right, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-right, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-right { grid-column: 3; } - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-edit, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-edit, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-edit, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-edit { + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-edit, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-edit, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-edit, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-edit { grid-column: 4; } - .is-layout-breakpoint-md.is-bookmark-style-block .bookmark-wide .bookmark-control-remove, - .is-layout-breakpoint-lg.is-bookmark-style-block .bookmark-wide .bookmark-control-remove, - .is-layout-breakpoint-xl.is-bookmark-style-block .bookmark-wide .bookmark-control-remove, - .is-layout-breakpoint-xxl.is-bookmark-style-block .bookmark-wide .bookmark-control-remove { + .is-layout-breakpoint-md.is-bookmark-style-block + .bookmark-wide + .bookmark-control-remove, + .is-layout-breakpoint-lg.is-bookmark-style-block + .bookmark-wide + .bookmark-control-remove, + .is-layout-breakpoint-xl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-remove, + .is-layout-breakpoint-xxl.is-bookmark-style-block + .bookmark-wide + .bookmark-control-remove { grid-column: 5; } } @@ -1035,7 +1366,8 @@ display: none; justify-content: var(--bookmark-display-justify); align-items: center; - transition: top var(--layout-duration-04) var(--layout-timing-bounce), bottom var(--layout-duration-04) var(--layout-timing-bounce); + transition: top var(--layout-duration-04) var(--layout-timing-bounce), + bottom var(--layout-duration-04) var(--layout-timing-bounce); } .is-bookmark-url-show .bookmark-url { @@ -1061,7 +1393,9 @@ } .is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:focus .bookmark-front, -.is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:focus-within .bookmark-front, +.is-bookmark-url-show:not(.is-bookmark-edit) + .bookmark:focus-within + .bookmark-front, .is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:hover .bookmark-front { height: calc(100% - var(--bookmark-url-height)); } @@ -1074,24 +1408,48 @@ bottom: calc(-1 * var(--bookmark-url-height)); } -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show .bookmark:focus-within .bookmark-url, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show .bookmark:focus .bookmark-url, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show .bookmark:hover .bookmark-url, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark:focus-within .bookmark-url, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark:focus .bookmark-url, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark:hover .bookmark-url { +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark:focus-within + .bookmark-url, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark:focus + .bookmark-url, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark:hover + .bookmark-url, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark:focus-within + .bookmark-url, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark:focus + .bookmark-url, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark:hover + .bookmark-url { transition-delay: calc(var(--bookmark-transition-delay) * 0.03s); } -.is-bookmark-orientation-top.is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:focus-within .bookmark-url, -.is-bookmark-orientation-top.is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:focus .bookmark-url, -.is-bookmark-orientation-top.is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:hover .bookmark-url { +.is-bookmark-orientation-top.is-bookmark-url-show:not(.is-bookmark-edit) + .bookmark:focus-within + .bookmark-url, +.is-bookmark-orientation-top.is-bookmark-url-show:not(.is-bookmark-edit) + .bookmark:focus + .bookmark-url, +.is-bookmark-orientation-top.is-bookmark-url-show:not(.is-bookmark-edit) + .bookmark:hover + .bookmark-url { top: 0; } -.is-bookmark-orientation-bottom.is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:focus-within .bookmark-url, -.is-bookmark-orientation-bottom.is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:focus .bookmark-url, -.is-bookmark-orientation-bottom.is-bookmark-url-show:not(.is-bookmark-edit) .bookmark:hover .bookmark-url { +.is-bookmark-orientation-bottom.is-bookmark-url-show:not(.is-bookmark-edit) + .bookmark:focus-within + .bookmark-url, +.is-bookmark-orientation-bottom.is-bookmark-url-show:not(.is-bookmark-edit) + .bookmark:focus + .bookmark-url, +.is-bookmark-orientation-bottom.is-bookmark-url-show:not(.is-bookmark-edit) + .bookmark:hover + .bookmark-url { bottom: 0; } diff --git a/src/component/bookmark/index.js b/src/component/bookmark/index.js index 9405185f..05ec4992 100644 --- a/src/component/bookmark/index.js +++ b/src/component/bookmark/index.js @@ -30,59 +30,69 @@ const bookmark = {}; bookmark.element = { area: node('div|class:bookmark-area'), - group: node('div|class:bookmark-group') + group: node('div|class:bookmark-group'), }; bookmark.all = bookmarkPreset.get(); bookmark.area = { render: () => { - bookmark.element.area.appendChild(bookmark.element.group); layout.element.bookmark.appendChild(bookmark.element.area); - - } + }, }; bookmark.tile = { - current: [] + current: [], }; bookmark.item = { mod: { add: (bookmarkData) => { - - bookmark.all[bookmarkData.position.destination.group].items.splice(bookmarkData.position.destination.item, 0, bookmarkData.link); - + bookmark.all[bookmarkData.position.destination.group].items.splice( + bookmarkData.position.destination.item, + 0, + bookmarkData.link + ); }, edit: (bookmarkData) => { - - bookmark.all[bookmarkData.position.origin.group].items.splice(bookmarkData.position.origin.item, 1); - - bookmark.all[bookmarkData.position.destination.group].items.splice(bookmarkData.position.destination.item, 0, bookmarkData.link); - + bookmark.all[bookmarkData.position.origin.group].items.splice( + bookmarkData.position.origin.item, + 1 + ); + + bookmark.all[bookmarkData.position.destination.group].items.splice( + bookmarkData.position.destination.item, + 0, + bookmarkData.link + ); }, move: (bookmarkData) => { - - bookmarkData.link = bookmark.all[bookmarkData.position.origin.group].items.splice(bookmarkData.position.origin.item, 1)[0]; - - bookmark.all[bookmarkData.position.destination.group].items.splice(bookmarkData.position.destination.item, 0, bookmarkData.link); - + bookmarkData.link = bookmark.all[ + bookmarkData.position.origin.group + ].items.splice(bookmarkData.position.origin.item, 1)[0]; + + bookmark.all[bookmarkData.position.destination.group].items.splice( + bookmarkData.position.destination.item, + 0, + bookmarkData.link + ); }, remove: (bookmarkData) => { - - bookmark.all[bookmarkData.position.origin.group].items.splice(bookmarkData.position.origin.item, 1); - + bookmark.all[bookmarkData.position.origin.group].items.splice( + bookmarkData.position.origin.item, + 1 + ); }, propagate: (bookmarkData) => { - - if (bookmarkData.propagate.display || bookmarkData.propagate.layout || bookmarkData.propagate.theme) { - + if ( + bookmarkData.propagate.display || + bookmarkData.propagate.layout || + bookmarkData.propagate.theme + ) { bookmark.all.forEach((item) => { - item.items.forEach((item) => { - if (bookmarkData.propagate.display) { item.display.visual.show = bookmarkData.link.display.visual.show; item.display.name.show = bookmarkData.link.display.name.show; @@ -103,57 +113,46 @@ bookmark.item = { item.accent = bookmarkData.link.accent; item.color = bookmarkData.link.color; item.border = bookmarkData.link.border; - item.display.visual.shadow = bookmarkData.link.display.visual.shadow; + item.display.visual.shadow = + bookmarkData.link.display.visual.shadow; } - }); - }); - } - }, applyVar: (path, value) => { - bookmark.all.forEach((item) => { - item.items.forEach((item) => { - set({ object: item, path: path, value: value }); - }); - }); - }, sort: { letter: () => { - bookmark.all.forEach((item) => { - item.items = sortArrayOfObject(item.items, 'display.visual.letter.text'); + item.items = sortArrayOfObject( + item.items, + 'display.visual.letter.text' + ); }); - }, icon: () => { - bookmark.all.forEach((item) => { - item.items = sortArrayOfObject(item.items, 'display.visual.icon.name'); + item.items = sortArrayOfObject( + item.items, + 'display.visual.icon.name' + ); }); - }, name: () => { - bookmark.all.forEach((item) => { item.items = sortArrayOfObject(item.items, 'display.name.text'); }); - - } - } + }, + }, }, render: () => { - const addBookmarkToGroup = (bookmarkData, groupIndex, bookmarkIndex) => { - const currentBookmarkData = new StagedBookmark(bookmarkData); currentBookmarkData.position.origin.group = groupIndex; @@ -164,194 +163,153 @@ bookmark.item = { currentBookmarkData.position.destination.item = bookmarkIndex; - const bookmarkTile = new BookmarkTile({ bookmarkData: currentBookmarkData }); + const bookmarkTile = new BookmarkTile({ + bookmarkData: currentBookmarkData, + }); bookmarkTile.tile().groupIndex = groupIndex; bookmarkTile.tile().index = bookmarkIndex; - group.area.current[groupIndex].element.body.appendChild(bookmarkTile.tile()); + group.area.current[groupIndex].element.body.appendChild( + bookmarkTile.tile() + ); bookmark.tile.current.push(bookmarkTile); - }; const addEmptyGroup = (groupIndex) => { - const emptyGroupItem = new GroupEmpty({ groupIndex: groupIndex }); - group.area.current[groupIndex].element.body.appendChild(emptyGroupItem.empty()); - + group.area.current[groupIndex].element.body.appendChild( + emptyGroupItem.empty() + ); }; if (state.get.current().search) { - // searching if (header.element.search.resultCount().total > 0) { - bookmark.all.forEach((item, i) => { - const groupIndex = i; - if (header.element.search.resultCount().group[groupIndex].searchMatch > 0) { - + if ( + header.element.search.resultCount().group[groupIndex].searchMatch > + 0 + ) { item.items.forEach((item, i) => { - const bookmarkIndex = i; if (item.searchMatch) { - addBookmarkToGroup(item, groupIndex, bookmarkIndex); - } - }); - } - }); - } - - } else { - // not searching bookmark.all.forEach((item, i) => { - const groupIndex = i; if (item.items.length > 0) { - item.items.forEach((item, i) => { - const bookmarkIndex = i; addBookmarkToGroup(item, groupIndex, bookmarkIndex); - }); - } else { - addEmptyGroup(groupIndex); - } - }); - } - }, clear: () => { - if (bookmark.tile.current.length > 0) { - - bookmark.tile.current.forEach(item => { - + bookmark.tile.current.forEach((item) => { item.clear(); - }); - } bookmark.tile.current = []; - - } + }, }; bookmark.edit = { open: () => { - state.get.current().bookmark.edit = true; bookmark.edit.render(); - }, close: () => { - state.get.current().bookmark.edit = false; bookmark.edit.render(); - }, toggle: () => { - if (state.get.current().bookmark.edit) { bookmark.edit.close(); } else { bookmark.edit.open(); } - }, render: () => { - applyCSSState('bookmark.edit'); if (bookmark.tile.current.length > 0) { - bookmark.tile.current.forEach((item) => { - if (state.get.current().bookmark.edit) { item.control.enable(); } else { item.control.disable(); } - }); - } - - } + }, }; bookmark.direction = { mod: { vertical: () => { - bookmark.all.forEach((item) => { item.items.forEach((item) => { - item.display.direction = 'vertical'; - }); }); - }, horizontal: () => { - bookmark.all.forEach((item) => { item.items.forEach((item) => { - item.display.direction = 'horizontal'; - }); }); - - } - } + }, + }, }; bookmark.add = { mod: { - open: () => { state.get.current().bookmark.add = true; }, - close: () => { state.get.current().bookmark.add = false; } + open: () => { + state.get.current().bookmark.add = true; + }, + close: () => { + state.get.current().bookmark.add = false; + }, }, - render: ({ - groupIndex = false - } = {}) => { - + render: ({ groupIndex = false } = {}) => { const newBookmarkData = new StagedBookmark(); newBookmarkData.type.new = true; - newBookmarkData.position.destination.item = (bookmark.all.length > 0) ? bookmark.all[0].items.length : 0; + newBookmarkData.position.destination.item = + bookmark.all.length > 0 ? bookmark.all[0].items.length : 0; if (groupIndex || groupIndex === 0) { newBookmarkData.position.destination.group = groupIndex; - newBookmarkData.position.destination.item = bookmark.all[groupIndex].items.length; + newBookmarkData.position.destination.item = + bookmark.all[groupIndex].items.length; } if (!bookmark.all.length > 0) { @@ -365,24 +323,19 @@ bookmark.add = { content: bookmarkForm.form(), successText: message.get('bookmarkAddSuccessText'), cancelText: message.get('bookmarkAddCancelText'), - width: (state.get.current().bookmark.style === 'block') ? 60 : 70, + width: state.get.current().bookmark.style === 'block' ? 60 : 70, maxHeight: true, openAction: () => { - bookmark.add.mod.open(); data.save(); - }, closeAction: () => { - bookmark.add.mod.close(); data.save(); - }, successAction: () => { - switch (newBookmarkData.group.destination) { case 'new': { const newGroupData = new StagedGroup(); @@ -393,13 +346,13 @@ bookmark.add = { group.item.mod.add(newGroupData); - newBookmarkData.position.destination.group = bookmark.all.length - 1; + newBookmarkData.position.destination.group = + bookmark.all.length - 1; layout.area.assemble(); break; } - } newBookmarkData.link.timestamp = new Date().getTime(); @@ -413,110 +366,94 @@ bookmark.add = { groupAndBookmark.render(); data.save(); - }, dismissAction: () => { - bookmark.add.mod.close(); data.save(); - - } + }, }); addModal.open(); bookmarkForm.tab.update(); - - } + }, }; bookmark.sort = { sortable: [], bind: () => { - bookmark.sort.sortable = []; group.area.current.forEach((item) => { + bookmark.sort.sortable.push( + Sortable.create(item.element.body, { + handle: '.bookmark-control-sort', + group: 'bookmark-sort', + ghostClass: 'bookmark-sort-placeholder', + animation: 500, + easing: 'cubic-bezier(0.8, 0.8, 0.4, 1.4)', + filter: '.group-empty', + onEnd: (event) => { + // console.log('============ debug sort ============'); + // console.log(event); + // console.log('group:', 'origin', event.from.position.origin, 'destination', event.to.position.origin); + // console.log('item:', 'origin', event.oldIndex, 'destination', event.newIndex); - bookmark.sort.sortable.push(Sortable.create(item.element.body, { - handle: '.bookmark-control-sort', - group: 'bookmark-sort', - ghostClass: 'bookmark-sort-placeholder', - animation: 500, - easing: 'cubic-bezier(0.8, 0.8, 0.4, 1.4)', - filter: '.group-empty', - onEnd: (event) => { - - // console.log('============ debug sort ============'); - // console.log(event); - // console.log('group:', 'origin', event.from.position.origin, 'destination', event.to.position.origin); - // console.log('item:', 'origin', event.oldIndex, 'destination', event.newIndex); - - const newBookmarkData = new StagedBookmark(); + const newBookmarkData = new StagedBookmark(); - newBookmarkData.position.origin.group = event.from.position.origin; + newBookmarkData.position.origin.group = event.from.position.origin; - newBookmarkData.position.origin.item = event.oldIndex; + newBookmarkData.position.origin.item = event.oldIndex; - newBookmarkData.position.destination.group = event.to.position.origin; + newBookmarkData.position.destination.group = + event.to.position.origin; - newBookmarkData.position.destination.item = event.newIndex; + newBookmarkData.position.destination.item = event.newIndex; - newBookmarkData.type.existing = true; + newBookmarkData.type.existing = true; - bookmark.item.mod.move(newBookmarkData); + bookmark.item.mod.move(newBookmarkData); - groupAndBookmark.render(); - - data.save(); - - } - })); + groupAndBookmark.render(); + data.save(); + }, + }) + ); }); - - } + }, }; bookmark.count = () => { - let count = 0; - bookmark.all.forEach((item) => { count = count + item.items.length; }); + bookmark.all.forEach((item) => { + count = count + item.items.length; + }); return count; - }; bookmark.restore = (dataToRestore) => { - bookmark.all = dataToRestore.bookmark; console.log('bookmarks restored'); - }; bookmark.append = (dataToAppend) => { - dataToAppend.bookmark.forEach((item) => { - bookmark.all.push(item); - }); console.log('bookmarks appended'); - }; bookmark.reset = () => { - bookmark.all.forEach((item, i) => { - const groupIndex = i; item.items.forEach((item) => { - const newBookmarkData = new StagedBookmark(); newBookmarkData.link.timestamp = item.timestamp; @@ -527,11 +464,13 @@ bookmark.reset = () => { newBookmarkData.link.display.visual.type = item.display.visual.type; - newBookmarkData.link.display.visual.letter.text = item.display.visual.letter.text; + newBookmarkData.link.display.visual.letter.text = + item.display.visual.letter.text; newBookmarkData.link.display.visual.icon = item.display.visual.icon; - newBookmarkData.link.display.visual.image.url = item.display.visual.image.url; + newBookmarkData.link.display.visual.image.url = + item.display.visual.image.url; newBookmarkData.position.origin.group = groupIndex; @@ -542,28 +481,23 @@ bookmark.reset = () => { newBookmarkData.position.destination.item = i; bookmark.item.mod.edit(newBookmarkData); - }); - }); - }; bookmark.init = () => { - applyCSSVar([ - 'bookmark.size' - ]); + applyCSSVar(['bookmark.size']); applyCSSClass([ 'bookmark.item.justify', 'bookmark.orientation', - 'bookmark.style' + 'bookmark.style', ]); applyCSSState([ 'bookmark.show', 'bookmark.hoverScale.show', 'bookmark.shadow.show', 'bookmark.line.show', - 'bookmark.url.show' + 'bookmark.url.show', ]); bookmark.area.render(); bookmark.add.mod.close(); diff --git a/src/component/bookmarkDefault/index.js b/src/component/bookmarkDefault/index.js index c3b02970..0a14c79b 100644 --- a/src/component/bookmarkDefault/index.js +++ b/src/component/bookmarkDefault/index.js @@ -8,12 +8,31 @@ export const bookmarkDefault = { translate: { x: 0, y: 0 }, gutter: 25, name: { show: true, text: '', size: 7 }, - visual: { show: true, type: 'letter', size: 25, letter: { text: '' }, icon: { name: '', prefix: '', label: '' }, image: { url: '' }, shadow: { size: 0 } } + visual: { + show: true, + type: 'letter', + size: 25, + letter: { text: '' }, + icon: { name: '', prefix: '', label: '' }, + image: { url: '' }, + shadow: { size: 0 }, + }, }, accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, border: 0, shape: { wide: false, tall: false }, - timestamp: null + timestamp: null, }; diff --git a/src/component/bookmarkEmpty/index.js b/src/component/bookmarkEmpty/index.js index 3b6c6643..0b705a9a 100644 --- a/src/component/bookmarkEmpty/index.js +++ b/src/component/bookmarkEmpty/index.js @@ -8,11 +8,12 @@ import { node } from '../../utility/node'; import './index.css'; export const BookmarkEmpty = function () { - this.element = { empty: node('div|class:bookmark-empty'), control: node('div|class:bookmark-empty-control'), - headline: node('p:No Groups or Bookmarks|class:bookmark-empty-headline small muted') + headline: node( + 'p:No Groups or Bookmarks|class:bookmark-empty-headline small muted' + ), }; this.control = {}; @@ -24,7 +25,7 @@ export const BookmarkEmpty = function () { size: 'small', func: () => { bookmark.add.render(); - } + }, }), group: new Button({ text: 'Add a new Group', @@ -32,12 +33,11 @@ export const BookmarkEmpty = function () { size: 'small', func: () => { group.add.render(); - } - }) + }, + }), }; this.assemble = () => { - this.element.empty.appendChild(this.element.headline); this.element.control.appendChild(this.control.button.group.button); @@ -45,7 +45,6 @@ export const BookmarkEmpty = function () { this.element.control.appendChild(this.control.button.bookmark.button); this.element.empty.appendChild(this.element.control); - }; this.empty = () => { @@ -53,5 +52,4 @@ export const BookmarkEmpty = function () { }; this.assemble(); - }; diff --git a/src/component/bookmarkForm/index.css b/src/component/bookmarkForm/index.css index 944774ca..2ef19863 100644 --- a/src/component/bookmarkForm/index.css +++ b/src/component/bookmarkForm/index.css @@ -20,7 +20,8 @@ margin-bottom: var(--bookmark-form-space); } -.bookmark-form-main {} +.bookmark-form-main { +} .bookmark-form-aside { display: none; diff --git a/src/component/bookmarkForm/index.js b/src/component/bookmarkForm/index.js index 53f18343..b9922ce9 100644 --- a/src/component/bookmarkForm/index.js +++ b/src/component/bookmarkForm/index.js @@ -32,62 +32,58 @@ import { randomNumber } from '../../utility/randomNumber'; import './index.css'; -export const BookmarkForm = function({ - bookmarkData = false -} = {}) { - +export const BookmarkForm = function ({ bookmarkData = false } = {}) { this.element = { form: node('form|class:bookmark-form'), main: node('div|class:bookmark-form-main'), - aside: node('div|class:bookmark-form-aside') + aside: node('div|class:bookmark-form-aside'), }; this.selectOption = {}; this.selectOption.group = () => { - const option = []; if (bookmark.all.length > 0) { - bookmark.all.forEach((item, i) => { - - option.push(isValidString(item.name.text) ? item.name.text : ordinalNumber(i + 1) + ' unnamed group'); - + option.push( + isValidString(item.name.text) + ? item.name.text + : ordinalNumber(i + 1) + ' unnamed group' + ); }); - } return option; - }; this.selectOption.item = () => { - const option = []; - if (bookmark.all[bookmarkData.position.destination.group].items.length > 0) { - - let count = bookmark.all[bookmarkData.position.destination.group].items.length; - - if (bookmarkData.type.new || !(bookmarkData.position.origin.group === bookmarkData.position.destination.group)) { + if ( + bookmark.all[bookmarkData.position.destination.group].items.length > 0 + ) { + let count = + bookmark.all[bookmarkData.position.destination.group].items.length; + + if ( + bookmarkData.type.new || + !( + bookmarkData.position.origin.group === + bookmarkData.position.destination.group + ) + ) { count++; } for (var i = 1; i <= count; i++) { - option.push(ordinalNumber(i)); - } - } else { - option.push(ordinalNumber(1)); - } return option; - }; this.control = {}; @@ -102,21 +98,66 @@ export const BookmarkForm = function({ labelText: message.get('bookmarkFormUrlLabel'), action: () => { this.preview.update.assemble(bookmarkData); - } + }, }), display: { alignment: new Control_radioGrid({ object: bookmarkData.link, radioGroup: [ - { id: 'toolbar-position-top-left', labelText: message.get('bookmarkFormDisplayAlignmentTopLeft'), value: 'top-left', position: 1 }, - { id: 'toolbar-position-top-center', labelText: message.get('bookmarkFormDisplayAlignmentTopCenter'), value: 'top-center', position: 2 }, - { id: 'toolbar-position-top-right', labelText: message.get('bookmarkFormDisplayAlignmentTopRight'), value: 'top-right', position: 3 }, - { id: 'toolbar-position-center-left', labelText: message.get('bookmarkFormDisplayAlignmentCenterLeft'), value: 'center-left', position: 4 }, - { id: 'toolbar-position-center-center', labelText: message.get('bookmarkFormDisplayAlignmentCenterCenter'), value: 'center-center', position: 5 }, - { id: 'toolbar-position-center-right', labelText: message.get('bookmarkFormDisplayAlignmentCenterRight'), value: 'center-right', position: 6 }, - { id: 'toolbar-position-bottom-left', labelText: message.get('bookmarkFormDisplayAlignmentBottomLeft'), value: 'bottom-left', position: 7 }, - { id: 'toolbar-position-bottom-center', labelText: message.get('bookmarkFormDisplayAlignmentBottomCenter'), value: 'bottom-center', position: 8 }, - { id: 'toolbar-position-bottom-right', labelText: message.get('bookmarkFormDisplayAlignmentBottomRight'), value: 'bottom-right', position: 9 } + { + id: 'toolbar-position-top-left', + labelText: message.get('bookmarkFormDisplayAlignmentTopLeft'), + value: 'top-left', + position: 1, + }, + { + id: 'toolbar-position-top-center', + labelText: message.get('bookmarkFormDisplayAlignmentTopCenter'), + value: 'top-center', + position: 2, + }, + { + id: 'toolbar-position-top-right', + labelText: message.get('bookmarkFormDisplayAlignmentTopRight'), + value: 'top-right', + position: 3, + }, + { + id: 'toolbar-position-center-left', + labelText: message.get('bookmarkFormDisplayAlignmentCenterLeft'), + value: 'center-left', + position: 4, + }, + { + id: 'toolbar-position-center-center', + labelText: message.get('bookmarkFormDisplayAlignmentCenterCenter'), + value: 'center-center', + position: 5, + }, + { + id: 'toolbar-position-center-right', + labelText: message.get('bookmarkFormDisplayAlignmentCenterRight'), + value: 'center-right', + position: 6, + }, + { + id: 'toolbar-position-bottom-left', + labelText: message.get('bookmarkFormDisplayAlignmentBottomLeft'), + value: 'bottom-left', + position: 7, + }, + { + id: 'toolbar-position-bottom-center', + labelText: message.get('bookmarkFormDisplayAlignmentBottomCenter'), + value: 'bottom-center', + position: 8, + }, + { + id: 'toolbar-position-bottom-right', + labelText: message.get('bookmarkFormDisplayAlignmentBottomRight'), + value: 'bottom-right', + position: 9, + }, ], label: message.get('bookmarkFormDisplayAlignmentLabel'), groupName: 'display-alignment', @@ -124,33 +165,63 @@ export const BookmarkForm = function({ gridSize: '3x3', action: () => { this.preview.update.assemble(bookmarkData); - } + }, }), direction: new Control_radio({ object: bookmarkData.link, radioGroup: [ - { id: 'display-direction-vertical', labelText: message.get('bookmarkFormDisplayDirectionVerticalLabel'), description: message.get('bookmarkFormDisplayDirectionVerticalDescription'), value: 'vertical' }, - { id: 'display-direction-horizontal', labelText: message.get('bookmarkFormDisplayDirectionHorizontalLabel'), description: message.get('bookmarkFormDisplayDirectionHorizontalDescription'), value: 'horizontal' } + { + id: 'display-direction-vertical', + labelText: message.get('bookmarkFormDisplayDirectionVerticalLabel'), + description: message.get( + 'bookmarkFormDisplayDirectionVerticalDescription' + ), + value: 'vertical', + }, + { + id: 'display-direction-horizontal', + labelText: message.get( + 'bookmarkFormDisplayDirectionHorizontalLabel' + ), + description: message.get( + 'bookmarkFormDisplayDirectionHorizontalDescription' + ), + value: 'horizontal', + }, ], groupName: 'display-direction', path: 'display.direction', action: () => { this.disable(); this.preview.update.style(bookmarkData); - } + }, }), order: new Control_radio({ object: bookmarkData.link, radioGroup: [ - { id: 'display-order-visual-name', labelText: message.get('bookmarkFormDisplayOrderVisualNameLabel'), description: message.get('bookmarkFormDisplayOrderVisualNameDescription'), value: 'visual-name' }, - { id: 'display-order-name-visual', labelText: message.get('bookmarkFormDisplayOrderNameVisualLabel'), description: message.get('bookmarkFormDisplayOrderNameVisualDescription'), value: 'name-visual' } + { + id: 'display-order-visual-name', + labelText: message.get('bookmarkFormDisplayOrderVisualNameLabel'), + description: message.get( + 'bookmarkFormDisplayOrderVisualNameDescription' + ), + value: 'visual-name', + }, + { + id: 'display-order-name-visual', + labelText: message.get('bookmarkFormDisplayOrderNameVisualLabel'), + description: message.get( + 'bookmarkFormDisplayOrderNameVisualDescription' + ), + value: 'name-visual', + }, ], groupName: 'display-order', path: 'display.order', action: () => { this.disable(); this.preview.update.style(bookmarkData); - } + }, }), rotate: new Control_sliderSlim({ object: bookmarkData.link, @@ -163,12 +234,12 @@ export const BookmarkForm = function({ max: bookmarkMinMax.display.rotate.max, action: () => { this.preview.update.style(bookmarkData); - } + }, }), translate: { label: form.label({ text: message.get('bookmarkFormDisplayTranslateLabel'), - noPadding: true + noPadding: true, }), x: new Control_sliderSlim({ object: bookmarkData.link, @@ -181,7 +252,7 @@ export const BookmarkForm = function({ max: bookmarkMinMax.display.translate.x.max, action: () => { this.preview.update.style(bookmarkData); - } + }, }), y: new Control_sliderSlim({ object: bookmarkData.link, @@ -194,8 +265,8 @@ export const BookmarkForm = function({ max: bookmarkMinMax.display.translate.y.max, action: () => { this.preview.update.style(bookmarkData); - } - }) + }, + }), }, gutter: new Control_sliderSlim({ object: bookmarkData.link, @@ -208,7 +279,7 @@ export const BookmarkForm = function({ max: bookmarkMinMax.display.gutter.max, action: () => { this.preview.update.style(bookmarkData); - } + }, }), visual: { show: new Control_checkbox({ @@ -221,21 +292,33 @@ export const BookmarkForm = function({ this.disable(); this.collapse.display.visual.update(); this.preview.update.assemble(bookmarkData); - } + }, }), type: new Control_radio({ object: bookmarkData.link, radioGroup: [ - { id: 'display-visual-type-letter', labelText: message.get('bookmarkFormDisplayVisualTypeLetter'), value: 'letter' }, - { id: 'display-visual-type-icon', labelText: message.get('bookmarkFormDisplayVisualTypeIcon'), value: 'icon' }, - { id: 'display-visual-type-image', labelText: message.get('bookmarkFormDisplayVisualTypeImage'), value: 'image' } + { + id: 'display-visual-type-letter', + labelText: message.get('bookmarkFormDisplayVisualTypeLetter'), + value: 'letter', + }, + { + id: 'display-visual-type-icon', + labelText: message.get('bookmarkFormDisplayVisualTypeIcon'), + value: 'icon', + }, + { + id: 'display-visual-type-image', + labelText: message.get('bookmarkFormDisplayVisualTypeImage'), + value: 'image', + }, ], groupName: 'display-visual-type', path: 'display.visual.type', action: () => { this.disable(); this.preview.update.assemble(bookmarkData); - } + }, }), size: new Control_sliderSlim({ object: bookmarkData.link, @@ -248,7 +331,7 @@ export const BookmarkForm = function({ max: bookmarkMinMax.display.visual.size.max, action: () => { this.preview.update.style(bookmarkData); - } + }, }), letter: { text: new Control_text({ @@ -256,13 +339,15 @@ export const BookmarkForm = function({ path: 'display.visual.letter.text', id: 'display-visual-letter-text', value: bookmarkData.link.display.visual.letter.text, - placeholder: message.get('bookmarkFormDisplayVisualLetterTextPlaceholder'), + placeholder: message.get( + 'bookmarkFormDisplayVisualLetterTextPlaceholder' + ), labelText: message.get('bookmarkFormDisplayVisualLetterTextLabel'), srOnly: true, action: () => { this.preview.update.assemble(bookmarkData); - } - }) + }, + }), }, icon: { text: new Control_text({ @@ -270,15 +355,17 @@ export const BookmarkForm = function({ path: 'display.visual.icon.label', id: 'display-visual-icon-label', value: bookmarkData.link.display.visual.icon.label, - placeholder: message.get('bookmarkFormDisplayVisualIconTextPlaceholder'), + placeholder: message.get( + 'bookmarkFormDisplayVisualIconTextPlaceholder' + ), labelText: message.get('bookmarkFormDisplayVisualIconTextLabel'), srOnly: true, action: () => { this.preview.update.assemble(bookmarkData); - } + }, }), preview: new Control_groupText({ - classList: ['bookmark-form-text-icon', 'form-group-item-small'] + classList: ['bookmark-form-text-icon', 'form-group-item-small'], }), remove: new Button({ text: message.get('bookmarkFormDisplayVisualIconRemove'), @@ -292,8 +379,8 @@ export const BookmarkForm = function({ bookmarkData.link.display.visual.icon.name = ''; this.update(); this.preview.update.assemble(bookmarkData); - } - }) + }, + }), }, image: { url: new Control_text({ @@ -301,13 +388,15 @@ export const BookmarkForm = function({ path: 'display.visual.image.url', id: 'display-visual-image-url', value: bookmarkData.link.display.visual.image.url, - placeholder: message.get('bookmarkFormDisplayVisualImageUrlPlaceholder'), + placeholder: message.get( + 'bookmarkFormDisplayVisualImageUrlPlaceholder' + ), labelText: message.get('bookmarkFormDisplayVisualImageUrlLabel'), srOnly: true, action: () => { this.preview.update.assemble(bookmarkData); - } - }) + }, + }), }, shadow: { size: new Control_sliderSlim({ @@ -321,9 +410,9 @@ export const BookmarkForm = function({ max: bookmarkMinMax.display.visual.shadow.size.max, action: () => { this.preview.update.style(bookmarkData); - } - }) - } + }, + }), + }, }, name: { show: new Control_checkbox({ @@ -335,7 +424,7 @@ export const BookmarkForm = function({ this.disable(); this.collapse.display.name.update(); this.preview.update.assemble(bookmarkData); - } + }, }), text: new Control_text({ object: bookmarkData.link, @@ -347,7 +436,7 @@ export const BookmarkForm = function({ srOnly: true, action: () => { this.preview.update.assemble(bookmarkData); - } + }, }), size: new Control_sliderSlim({ object: bookmarkData.link, @@ -360,16 +449,26 @@ export const BookmarkForm = function({ max: bookmarkMinMax.display.name.size.max, action: () => { this.preview.update.style(bookmarkData); - } - }) - } + }, + }), + }, }, accent: { by: new Control_radio({ object: bookmarkData.link, radioGroup: [ - { id: 'accent-by-theme', labelText: message.get('bookmarkFormAccentByThemeLabel'), description: message.get('bookmarkFormAccentByThemeDescription'), value: 'theme' }, - { id: 'accent-by-custom', labelText: message.get('bookmarkFormAccentByCustomLabel'), description: message.get('bookmarkFormAccentByCustomDescription'), value: 'custom' } + { + id: 'accent-by-theme', + labelText: message.get('bookmarkFormAccentByThemeLabel'), + description: message.get('bookmarkFormAccentByThemeDescription'), + value: 'theme', + }, + { + id: 'accent-by-custom', + labelText: message.get('bookmarkFormAccentByCustomLabel'), + description: message.get('bookmarkFormAccentByCustomDescription'), + value: 'custom', + }, ], groupName: 'accent-by', path: 'accent.by', @@ -377,7 +476,7 @@ export const BookmarkForm = function({ this.collapse.accent.update(); this.disable(); this.preview.update.assemble(bookmarkData); - } + }, }), color: new Control_colorMixer({ object: bookmarkData.link, @@ -390,15 +489,25 @@ export const BookmarkForm = function({ randomColor: true, action: () => { this.preview.update.style(bookmarkData); - } - }) + }, + }), }, color: { by: new Control_radio({ object: bookmarkData.link, radioGroup: [ - { id: 'color-by-theme', labelText: message.get('bookmarkFormColorByThemeLabel'), description: message.get('bookmarkFormColorByThemeDescription'), value: 'theme' }, - { id: 'color-by-custom', labelText: message.get('bookmarkFormColorByCustomLabel'), description: message.get('bookmarkFormColorByCustomDescription'), value: 'custom' } + { + id: 'color-by-theme', + labelText: message.get('bookmarkFormColorByThemeLabel'), + description: message.get('bookmarkFormColorByThemeDescription'), + value: 'theme', + }, + { + id: 'color-by-custom', + labelText: message.get('bookmarkFormColorByCustomLabel'), + description: message.get('bookmarkFormColorByCustomDescription'), + value: 'custom', + }, ], groupName: 'color-by', path: 'color.by', @@ -406,7 +515,7 @@ export const BookmarkForm = function({ this.collapse.color.update(); this.disable(); this.preview.update.assemble(bookmarkData); - } + }, }), color: new Control_colorMixer({ object: bookmarkData.link, @@ -419,7 +528,7 @@ export const BookmarkForm = function({ randomColor: true, action: () => { this.preview.update.style(bookmarkData); - } + }, }), opacity: new Control_sliderSlim({ object: bookmarkData.link, @@ -432,8 +541,8 @@ export const BookmarkForm = function({ max: bookmarkMinMax.color.opacity.max, action: () => { this.preview.update.style(bookmarkData); - } - }) + }, + }), }, background: { show: new Control_checkbox({ @@ -446,20 +555,28 @@ export const BookmarkForm = function({ this.collapse.background.update(); this.disable(); this.preview.update.assemble(bookmarkData); - } + }, }), type: new Control_radio({ object: bookmarkData.link, radioGroup: [ - { id: 'background-type-image', labelText: message.get('bookmarkFormBackgroundTypeImage'), value: 'image' }, - { id: 'background-type-video', labelText: message.get('bookmarkFormBackgroundTypeVideo'), value: 'video' } + { + id: 'background-type-image', + labelText: message.get('bookmarkFormBackgroundTypeImage'), + value: 'image', + }, + { + id: 'background-type-video', + labelText: message.get('bookmarkFormBackgroundTypeVideo'), + value: 'video', + }, ], groupName: 'background-type', path: 'background.type', action: () => { this.disable(); this.preview.update.assemble(bookmarkData); - } + }, }), opacity: new Control_sliderSlim({ object: bookmarkData.link, @@ -472,7 +589,7 @@ export const BookmarkForm = function({ max: bookmarkMinMax.background.opacity.max, action: () => { this.preview.update.style(bookmarkData); - } + }, }), image: { url: new Control_text({ @@ -485,8 +602,8 @@ export const BookmarkForm = function({ srOnly: true, action: () => { this.preview.update.assemble(bookmarkData); - } - }) + }, + }), }, video: { url: new Control_text({ @@ -499,9 +616,9 @@ export const BookmarkForm = function({ srOnly: true, action: () => { this.preview.update.assemble(bookmarkData); - } - }) - } + }, + }), + }, }, border: new Control_sliderSlim({ object: bookmarkData.link, @@ -514,7 +631,7 @@ export const BookmarkForm = function({ max: bookmarkMinMax.border.max, action: () => { this.preview.update.style(bookmarkData); - } + }, }), shape: { wide: new Control_checkbox({ @@ -525,7 +642,7 @@ export const BookmarkForm = function({ description: message.get('bookmarkFormShapeWideDescription'), action: () => { this.preview.update.assemble(bookmarkData); - } + }, }), tall: new Control_checkbox({ object: bookmarkData.link, @@ -535,23 +652,31 @@ export const BookmarkForm = function({ description: message.get('bookmarkFormShapeTallDescription'), action: () => { this.preview.update.assemble(bookmarkData); - } - }) - } + }, + }), + }, }; this.control.group = { destination: new Control_radio({ object: bookmarkData, radioGroup: [ - { id: 'group-destination-existing', labelText: message.get('bookmarkFormGroupDestinationExisting'), value: 'existing' }, - { id: 'group-destination-new', labelText: message.get('bookmarkFormGroupDestinationNew'), value: 'new' } + { + id: 'group-destination-existing', + labelText: message.get('bookmarkFormGroupDestinationExisting'), + value: 'existing', + }, + { + id: 'group-destination-new', + labelText: message.get('bookmarkFormGroupDestinationNew'), + value: 'new', + }, ], groupName: 'group.destination', path: 'group.destination', action: () => { this.disable(); - } + }, }), name: new Control_text({ object: bookmarkData, @@ -560,15 +685,17 @@ export const BookmarkForm = function({ value: bookmarkData.group.name, placeholder: message.get('bookmarkFormGroupNamePlaceholder'), labelText: message.get('bookmarkFormGroupNameLabel'), - srOnly: true + srOnly: true, }), random: new Button({ text: message.get('bookmarkFormGroupRandom'), style: ['line'], func: () => { - bookmarkData.group.name = randomString({ adjectivesCount: randomNumber(1, 3) }); + bookmarkData.group.name = randomString({ + adjectivesCount: randomNumber(1, 3), + }); this.control.group.name.update(); - } + }, }), position: { group: new Control_select({ @@ -577,35 +704,45 @@ export const BookmarkForm = function({ id: 'position-destination-group', labelText: message.get('bookmarkFormGroupPositionGroup'), srOnly: true, - option: (bookmark.all.length > 0) ? this.selectOption.group() : [], + option: bookmark.all.length > 0 ? this.selectOption.group() : [], selected: bookmarkData.position.destination.group, action: () => { - if (bookmarkData.type.new) { - bookmarkData.position.destination.item = bookmark.all[bookmarkData.position.destination.group].items.length; + bookmarkData.position.destination.item = + bookmark.all[ + bookmarkData.position.destination.group + ].items.length; } else { - - if (bookmarkData.position.origin.group === bookmarkData.position.destination.group) { - bookmarkData.position.destination.item = bookmark.all[bookmarkData.position.destination.group].items.length - 1; + if ( + bookmarkData.position.origin.group === + bookmarkData.position.destination.group + ) { + bookmarkData.position.destination.item = + bookmark.all[bookmarkData.position.destination.group].items + .length - 1; } else { - bookmarkData.position.destination.item = bookmark.all[bookmarkData.position.destination.group].items.length; + bookmarkData.position.destination.item = + bookmark.all[ + bookmarkData.position.destination.group + ].items.length; } - } - this.control.group.position.item.updateOption(this.selectOption.item(), bookmarkData.position.destination.item); - - } + this.control.group.position.item.updateOption( + this.selectOption.item(), + bookmarkData.position.destination.item + ); + }, }), item: new Control_select({ object: bookmarkData, path: 'position.destination.item', id: 'position-destination-item', labelText: message.get('bookmarkFormGroupPositionItem'), - option: (bookmark.all.length > 0) ? this.selectOption.item() : [], - selected: bookmarkData.position.destination.item - }) - } + option: bookmark.all.length > 0 ? this.selectOption.item() : [], + selected: bookmarkData.position.destination.item, + }), + }, }; this.control.propagate = {}; @@ -617,13 +754,13 @@ export const BookmarkForm = function({ labelText: message.get('bookmarkFormPropagateVisualLabel'), description: [ message.get('bookmarkFormPropagateVisualDescriptionPara1'), - message.get('bookmarkFormPropagateVisualDescriptionPara2') - ] + message.get('bookmarkFormPropagateVisualDescriptionPara2'), + ], }); this.control.propagate.visualAlert = new Alert({ iconName: 'propagate', - children: [this.control.propagate.visual.wrap()] + children: [this.control.propagate.visual.wrap()], }); this.control.propagate.layout = new Control_checkbox({ @@ -633,13 +770,13 @@ export const BookmarkForm = function({ labelText: message.get('bookmarkFormPropagateLayoutLabel'), description: [ message.get('bookmarkFormPropagateLayoutDescriptionPara1'), - message.get('bookmarkFormPropagateLayoutDescriptionPara2') - ] + message.get('bookmarkFormPropagateLayoutDescriptionPara2'), + ], }); this.control.propagate.layoutAlert = new Alert({ iconName: 'propagate', - children: [this.control.propagate.layout.wrap()] + children: [this.control.propagate.layout.wrap()], }); this.control.propagate.theme = new Control_checkbox({ @@ -649,13 +786,13 @@ export const BookmarkForm = function({ labelText: message.get('bookmarkFormPropagateThemeLabel'), description: [ message.get('bookmarkFormPropagateThemeDescriptionPara1'), - message.get('bookmarkFormPropagateThemeDescriptionPara2') - ] + message.get('bookmarkFormPropagateThemeDescriptionPara2'), + ], }); this.control.propagate.themeAlert = new Alert({ iconName: 'propagate', - children: [this.control.propagate.theme.wrap()] + children: [this.control.propagate.theme.wrap()], }); this.helper = { @@ -664,20 +801,20 @@ export const BookmarkForm = function({ visual: { shadow: { size: new Control_helperText({ - text: [message.get('bookmarkFormDisplayVisualShadowHelperPara1')] - }) - } - } + text: [message.get('bookmarkFormDisplayVisualShadowHelperPara1')], + }), + }, + }, }, background: { image: new Control_helperText({ - text: [message.get('bookmarkFormBackgroundImageHelperPara1')] + text: [message.get('bookmarkFormBackgroundImageHelperPara1')], }), video: new Control_helperText({ - text: [message.get('bookmarkFormBackgroundVideoHelperPara1')] - }) - } - } + text: [message.get('bookmarkFormBackgroundVideoHelperPara1')], + }), + }, + }, }; this.area = {}; @@ -695,10 +832,10 @@ export const BookmarkForm = function({ children: [ form.indent({ children: [ - this.control.bookmark.display.visual.letter.text.wrap() - ] - }) - ] + this.control.bookmark.display.visual.letter.text.wrap(), + ], + }), + ], }), this.control.bookmark.display.visual.type.radioSet[1].wrap(), form.wrap({ @@ -711,31 +848,34 @@ export const BookmarkForm = function({ form.group({ block: true, children: [ - this.control.bookmark.display.visual.icon.text.text, - this.control.bookmark.display.visual.icon.preview.groupText, - this.control.bookmark.display.visual.icon.remove.button - ] - }) - ] - }) - ] - }) - ] + this.control.bookmark.display.visual.icon.text + .text, + this.control.bookmark.display.visual.icon.preview + .groupText, + this.control.bookmark.display.visual.icon.remove + .button, + ], + }), + ], + }), + ], + }), + ], }), this.control.bookmark.display.visual.type.radioSet[2].wrap(), form.wrap({ children: [ form.indent({ children: [ - this.control.bookmark.display.visual.image.url.wrap() - ] - }) - ] - }) - ] - }) - ] - }) + this.control.bookmark.display.visual.image.url.wrap(), + ], + }), + ], + }), + ], + }), + ], + }), ]); }; @@ -744,25 +884,19 @@ export const BookmarkForm = function({ form.wrap({ children: [ form.indent({ - children: [ - this.control.bookmark.display.name.text.wrap() - ] - }) - ] - }) + children: [this.control.bookmark.display.name.text.wrap()], + }), + ], + }), ]); }; this.area.accent = () => { - return node('div', [ - this.control.bookmark.accent.color.wrap() - ]); + return node('div', [this.control.bookmark.accent.color.wrap()]); }; this.area.color = () => { - return node('div', [ - this.control.bookmark.color.color.wrap() - ]); + return node('div', [this.control.bookmark.color.color.wrap()]); }; this.area.visual = () => { @@ -772,9 +906,9 @@ export const BookmarkForm = function({ children: [ node('div|class:bookmark-form-description', [ node(`h2:${message.get('bookmarkFormSectionVisualHeading')}`), - node(`p:${message.get('bookmarkFormSectionVisualDescription')}`) - ]) - ] + node(`p:${message.get('bookmarkFormSectionVisualDescription')}`), + ]), + ], }), form.wrap({ children: [ @@ -786,12 +920,12 @@ export const BookmarkForm = function({ this.control.bookmark.display.name.show.wrap(), this.collapse.display.name.collapse(), node('hr'), - this.control.propagate.visualAlert.wrap() - ] - }) - ] - }) - ] + this.control.propagate.visualAlert.wrap(), + ], + }), + ], + }), + ], }); }; @@ -802,20 +936,22 @@ export const BookmarkForm = function({ children: [ node('div|class:bookmark-form-description', [ node(`h2:${message.get('bookmarkFormSectionAddressHeading')}`), - complexNode({ tag: 'p', text: message.get('bookmarkFormSectionAddressDescription'), complexText: true }) - ]) - ] + complexNode({ + tag: 'p', + text: message.get('bookmarkFormSectionAddressDescription'), + complexText: true, + }), + ]), + ], }), form.wrap({ children: [ form.indent({ - children: [ - this.control.bookmark.url.wrap() - ] - }) - ] - }) - ] + children: [this.control.bookmark.url.wrap()], + }), + ], + }), + ], }); }; @@ -826,9 +962,11 @@ export const BookmarkForm = function({ children: [ node('div|class:bookmark-form-description', [ node(`h2:${message.get('bookmarkFormSectionPositionHeading')}`), - node(`p:${message.get('bookmarkFormSectionPositionDescription')}`) - ]) - ] + node( + `p:${message.get('bookmarkFormSectionPositionDescription')}` + ), + ]), + ], }), form.wrap({ children: [ @@ -840,10 +978,10 @@ export const BookmarkForm = function({ form.indent({ children: [ this.control.group.position.group.wrap(), - this.control.group.position.item.wrap() - ] - }) - ] + this.control.group.position.item.wrap(), + ], + }), + ], }), this.control.group.destination.radioSet[1].wrap(), form.wrap({ @@ -851,16 +989,16 @@ export const BookmarkForm = function({ form.indent({ children: [ this.control.group.name.wrap(), - this.control.group.random.wrap() - ] - }) - ] - }) - ] - }) - ] - }) - ] + this.control.group.random.wrap(), + ], + }), + ], + }), + ], + }), + ], + }), + ], }); }; @@ -871,9 +1009,9 @@ export const BookmarkForm = function({ children: [ node('div|class:bookmark-form-description', [ node(`h2:${message.get('bookmarkFormSectionLayoutHeading')}`), - node(`p:${message.get('bookmarkFormSectionLayoutDescription')}`) - ]) - ] + node(`p:${message.get('bookmarkFormSectionLayoutDescription')}`), + ]), + ], }), form.wrap({ children: [ @@ -885,9 +1023,7 @@ export const BookmarkForm = function({ this.control.bookmark.display.alignment.wrap(), node('hr'), form.wrap({ - children: [ - this.control.bookmark.display.translate.label - ] + children: [this.control.bookmark.display.translate.label], }), this.control.bookmark.display.translate.x.wrap(), this.control.bookmark.display.translate.y.wrap(), @@ -902,12 +1038,12 @@ export const BookmarkForm = function({ this.control.bookmark.shape.wide.wrap(), this.control.bookmark.shape.tall.wrap(), node('hr'), - this.control.propagate.layoutAlert.wrap() - ] - }) - ] - }) - ] + this.control.propagate.layoutAlert.wrap(), + ], + }), + ], + }), + ], }); }; @@ -918,9 +1054,9 @@ export const BookmarkForm = function({ children: [ node('div|class:bookmark-form-description', [ node(`h2:${message.get('bookmarkFormSectionThemeHeading')}`), - node(`p:${message.get('bookmarkFormSectionThemeDescription')}`) - ]) - ] + node(`p:${message.get('bookmarkFormSectionThemeDescription')}`), + ]), + ], }), form.wrap({ children: [ @@ -933,32 +1069,28 @@ export const BookmarkForm = function({ children: [ this.collapse.color.collapse(), node('hr'), - this.control.bookmark.color.opacity.wrap() - ] - }) - ] + this.control.bookmark.color.opacity.wrap(), + ], + }), + ], }), node('hr'), this.control.bookmark.accent.by.wrap(), form.wrap({ children: [ form.indent({ - children: [ - this.collapse.accent.collapse() - ] - }) - ] + children: [this.collapse.accent.collapse()], + }), + ], }), node('hr'), this.control.bookmark.background.show.wrap(), form.wrap({ children: [ form.indent({ - children: [ - this.collapse.background.collapse() - ] - }) - ] + children: [this.collapse.background.collapse()], + }), + ], }), node('hr'), this.control.bookmark.border.wrap(), @@ -966,12 +1098,12 @@ export const BookmarkForm = function({ this.control.bookmark.display.visual.shadow.size.wrap(), this.helper.bookmark.display.visual.shadow.size.wrap(), node('hr'), - this.control.propagate.themeAlert.wrap() - ] - }) - ] - }) - ] + this.control.propagate.themeAlert.wrap(), + ], + }), + ], + }), + ], }); }; @@ -983,10 +1115,10 @@ export const BookmarkForm = function({ form.indent({ children: [ this.control.bookmark.background.image.url.wrap(), - this.helper.bookmark.background.image.wrap() - ] - }) - ] + this.helper.bookmark.background.image.wrap(), + ], + }), + ], }), this.control.bookmark.background.type.radioSet[1].wrap(), form.wrap({ @@ -994,20 +1126,18 @@ export const BookmarkForm = function({ form.indent({ children: [ this.control.bookmark.background.video.url.wrap(), - this.helper.bookmark.background.video.wrap() - ] - }) - ] + this.helper.bookmark.background.video.wrap(), + ], + }), + ], }), form.wrap({ children: [ form.indent({ - children: [ - this.control.bookmark.background.opacity.wrap() - ] - }) - ] - }) + children: [this.control.bookmark.background.opacity.wrap()], + }), + ], + }), ]); }; @@ -1016,71 +1146,86 @@ export const BookmarkForm = function({ visual: new Collapse({ type: 'checkbox', checkbox: this.control.bookmark.display.visual.show, - target: [{ - content: this.area.display.visual() - }] + target: [ + { + content: this.area.display.visual(), + }, + ], }), name: new Collapse({ type: 'checkbox', checkbox: this.control.bookmark.display.name.show, - target: [{ - content: this.area.display.name() - }] - }) + target: [ + { + content: this.area.display.name(), + }, + ], + }), }, color: new Collapse({ type: 'radio', radioGroup: this.control.bookmark.color.by, - target: [{ - id: this.control.bookmark.color.by.radioSet[1].radio.value, - content: this.area.color() - }] + target: [ + { + id: this.control.bookmark.color.by.radioSet[1].radio.value, + content: this.area.color(), + }, + ], }), accent: new Collapse({ type: 'radio', radioGroup: this.control.bookmark.accent.by, - target: [{ - id: this.control.bookmark.accent.by.radioSet[1].radio.value, - content: this.area.accent() - }] + target: [ + { + id: this.control.bookmark.accent.by.radioSet[1].radio.value, + content: this.area.accent(), + }, + ], }), background: new Collapse({ type: 'checkbox', checkbox: this.control.bookmark.background.show, - target: [{ - content: this.area.background() - }] - }) + target: [ + { + content: this.area.background(), + }, + ], + }), }; this.tab = new Tab({ - group: [{ - tabText: message.get('bookmarkFormTabVisual'), - area: this.area.visual(), - active: true - }, { - tabText: message.get('bookmarkFormTabAddress'), - area: this.area.address(), - active: false - }, { - tabText: message.get('bookmarkFormTabPosition'), - area: this.area.position(), - active: false - }, { - tabText: message.get('bookmarkFormTabLayout'), - area: this.area.layout(), - active: false - }, { - tabText: message.get('bookmarkFormTabTheme'), - area: this.area.theme(), - active: false - }] + group: [ + { + tabText: message.get('bookmarkFormTabVisual'), + area: this.area.visual(), + active: true, + }, + { + tabText: message.get('bookmarkFormTabAddress'), + area: this.area.address(), + active: false, + }, + { + tabText: message.get('bookmarkFormTabPosition'), + area: this.area.position(), + active: false, + }, + { + tabText: message.get('bookmarkFormTabLayout'), + area: this.area.layout(), + active: false, + }, + { + tabText: message.get('bookmarkFormTabTheme'), + area: this.area.theme(), + active: false, + }, + ], }); this.preview = new BookmarkPreview({ bookmarkData: bookmarkData }); this.disable = () => { - if (bookmarkData.link.display.visual.show) { this.control.bookmark.display.visual.type.enable(); this.control.bookmark.display.visual.letter.text.enable(); @@ -1133,8 +1278,13 @@ export const BookmarkForm = function({ this.control.bookmark.display.name.size.disable(); } - if (bookmarkData.link.display.visual.show || bookmarkData.link.display.name.show) { - this.control.bookmark.display.translate.label.classList.remove('disabled'); + if ( + bookmarkData.link.display.visual.show || + bookmarkData.link.display.name.show + ) { + this.control.bookmark.display.translate.label.classList.remove( + 'disabled' + ); this.control.bookmark.display.translate.x.enable(); this.control.bookmark.display.translate.y.enable(); this.control.bookmark.display.rotate.enable(); @@ -1147,7 +1297,10 @@ export const BookmarkForm = function({ this.control.bookmark.display.alignment.disable(); } - if (bookmarkData.link.display.visual.show && bookmarkData.link.display.name.show) { + if ( + bookmarkData.link.display.visual.show && + bookmarkData.link.display.name.show + ) { this.control.bookmark.display.direction.enable(); this.control.bookmark.display.order.enable(); this.control.bookmark.display.gutter.enable(); @@ -1239,11 +1392,9 @@ export const BookmarkForm = function({ } else { this.control.group.destination.radioSet[0].radio.enable(); } - }; this.update = () => { - this.control.bookmark.display.visual.show.update(); this.control.bookmark.display.visual.type.update(); @@ -1252,8 +1403,18 @@ export const BookmarkForm = function({ this.control.bookmark.display.visual.icon.text.update(); - if (isValidString(bookmarkData.link.display.visual.icon.prefix) && isValidString(bookmarkData.link.display.visual.icon.name)) { - this.control.bookmark.display.visual.icon.preview.update(node('span|class:bookmark-form-icon ' + bookmarkData.link.display.visual.icon.prefix + ' fa-' + bookmarkData.link.display.visual.icon.name)); + if ( + isValidString(bookmarkData.link.display.visual.icon.prefix) && + isValidString(bookmarkData.link.display.visual.icon.name) + ) { + this.control.bookmark.display.visual.icon.preview.update( + node( + 'span|class:bookmark-form-icon ' + + bookmarkData.link.display.visual.icon.prefix + + ' fa-' + + bookmarkData.link.display.visual.icon.name + ) + ); } else { this.control.bookmark.display.visual.icon.preview.update(); } @@ -1265,11 +1426,9 @@ export const BookmarkForm = function({ this.control.bookmark.display.name.text.update(); this.control.bookmark.url.update(); - }; this.assemble = () => { - this.element.main.appendChild(this.tab.tab()); this.element.aside.appendChild(this.preview.preview()); @@ -1279,17 +1438,15 @@ export const BookmarkForm = function({ this.element.form.appendChild(this.element.aside); this.bind(); - }; this.bind = () => { - this.element.form.addEventListener('keydown', (event) => { - - if (event.keyCode == 13) { event.preventDefault(); return false; } - + if (event.keyCode == 13) { + event.preventDefault(); + return false; + } }); - }; this.suggest = new Suggest({ @@ -1299,7 +1456,6 @@ export const BookmarkForm = function({ postFocus: this.control.bookmark.display.visual.icon.preview.groupText, action: (suggestData) => { - bookmarkData.link.display.visual.icon.label = suggestData.label; bookmarkData.link.display.visual.icon.name = suggestData.name; @@ -1311,14 +1467,11 @@ export const BookmarkForm = function({ this.preview.update.assemble(bookmarkData); this.update(); - - } + }, }); this.form = () => { - return this.element.form; - }; this.assemble(); @@ -1326,5 +1479,4 @@ export const BookmarkForm = function({ this.disable(); this.update(); - }; diff --git a/src/component/bookmarkMinMax/index.js b/src/component/bookmarkMinMax/index.js index 9c3d5c90..295dbd47 100644 --- a/src/component/bookmarkMinMax/index.js +++ b/src/component/bookmarkMinMax/index.js @@ -5,19 +5,35 @@ export const bookmarkMinMax = { gutter: { min: 0, max: 500 }, visual: { size: { min: 5, max: 400 }, - shadow: { size: { min: 0, max: 100 } } + shadow: { size: { min: 0, max: 100 } }, }, - name: { size: { min: 5, max: 400 } } + name: { size: { min: 5, max: 400 } }, }, accent: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } } + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, }, color: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } }, - opacity: { min: 0, max: 100 } + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, + opacity: { min: 0, max: 100 }, }, border: { min: 0, max: 20 }, - background: { opacity: { min: 0, max: 100 } } + background: { opacity: { min: 0, max: 100 } }, }; diff --git a/src/component/bookmarkPreset/index.js b/src/component/bookmarkPreset/index.js index dce55043..77853774 100644 --- a/src/component/bookmarkPreset/index.js +++ b/src/component/bookmarkPreset/index.js @@ -1,161 +1,362 @@ const bookmarkPreset = {}; bookmarkPreset.get = () => { - return [{ - name: { text: 'Cool stuff', show: true }, - collapse: false, - toolbar: { openAll: { show: true }, collapse: { show: true } }, - items: [{ - url: 'https://zombiefox.github.io/awesomeSheet/', - display: { - alignment: 'center-center', - direction: 'vertical', - order: 'visual-name', - rotate: 0, - translate: { x: 0, y: 0 }, - gutter: 25, - name: { show: true, text: 'awesomeSheet', size: 7 }, - visual: { show: true, type: 'icon', size: 25, letter: { text: 'AS' }, icon: { name: 'dice-d20', prefix: 'fas', label: 'Dice D20' }, image: { url: '' }, shadow: { size: 0 } } - }, - accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, - border: 0, - shape: { wide: false, tall: false }, - timestamp: 1626297988913 - }, { - url: 'https://www.amazon.co.uk/', - display: { - alignment: 'center-center', - direction: 'vertical', - order: 'visual-name', - rotate: 0, - translate: { x: 0, y: 0 }, - gutter: 25, - name: { show: true, text: 'Amazon', size: 7 }, - visual: { show: true, type: 'letter', size: 25, letter: { text: 'AZ' }, icon: { name: 'amazon', prefix: 'fab', label: 'Amazon' }, image: { url: '' }, shadow: { size: 0 } } - }, - accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, - border: 0, - shape: { wide: false, tall: false }, - timestamp: 1626297999213 - }, { - url: 'https://mail.google.com/', - display: { - alignment: 'center-center', - direction: 'vertical', - order: 'visual-name', - rotate: 0, - translate: { x: 0, y: 0 }, - gutter: 25, - name: { show: true, text: 'Gmail', size: 7 }, - visual: { show: true, type: 'letter', size: 25, letter: { text: 'GM' }, icon: { name: 'envelope', prefix: 'fas', label: 'Envelope' }, image: { url: '' }, shadow: { size: 0 } } - }, - accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, - border: 0, - shape: { wide: false, tall: false }, - timestamp: 1626298011293 - }, { - url: 'https://www.reddit.com/', - display: { - alignment: 'center-center', - direction: 'vertical', - order: 'visual-name', - rotate: 0, - translate: { x: 0, y: 0 }, - gutter: 25, - name: { show: true, text: 'Reddit', size: 7 }, - visual: { show: true, type: 'icon', size: 25, letter: { text: 'R' }, icon: { name: 'reddit-alien', prefix: 'fab', label: 'reddit Alien' }, image: { url: '' }, shadow: { size: 0 } } - }, - accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, - border: 0, - shape: { wide: false, tall: false }, - timestamp: 1626298017175 - }, { - url: 'https://www.netflix.com/', - display: { - alignment: 'center-center', - direction: 'vertical', - order: 'visual-name', - rotate: 0, - translate: { x: 0, y: 0 }, - gutter: 25, - name: { show: true, text: 'Netflix', size: 7 }, - visual: { show: true, type: 'icon', size: 25, letter: { text: 'N' }, icon: { name: 'film', prefix: 'fas', label: 'Film' }, image: { url: '' }, shadow: { size: 0 } } - }, - accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, - border: 0, - shape: { wide: false, tall: false }, - timestamp: 1626298022303 - }, { - url: 'https://drive.google.com/drive/', - display: { - alignment: 'center-center', - direction: 'vertical', - order: 'visual-name', - rotate: 0, - translate: { x: 0, y: 0 }, - gutter: 25, - name: { show: true, text: 'Drive', size: 7 }, - visual: { show: true, type: 'letter', size: 25, letter: { text: 'DR' }, icon: { name: 'google-drive', prefix: 'fab', label: 'Drive' }, image: { url: '' }, shadow: { size: 0 } } - }, - accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, - border: 0, - shape: { wide: false, tall: false }, - timestamp: 1626298028996 - }] - }, { - name: { text: 'Dev sites', show: true }, - collapse: false, - toolbar: { openAll: { show: true }, collapse: { show: true } }, - items: [{ - url: 'https://devdocs.io/', - display: { - alignment: 'center-center', - direction: 'vertical', - order: 'visual-name', - rotate: 0, - translate: { x: 0, y: 0 }, - gutter: 25, - name: { show: true, text: 'Devdocs', size: 7 }, - visual: { show: true, type: 'icon', size: 25, letter: { text: 'DEV' }, icon: { name: 'code', prefix: 'fas', label: 'Code' }, image: { url: '' }, shadow: { size: 0 } } - }, - accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, - border: 0, - shape: { wide: false, tall: false }, - timestamp: 1626298034209 - }, { - url: 'https://github.com/', - display: { - alignment: 'center-center', - direction: 'vertical', - order: 'visual-name', - rotate: 0, - translate: { x: 0, y: 0 }, - gutter: 25, - name: { show: true, text: 'Github', size: 7 }, - visual: { show: true, type: 'icon', size: 25, letter: { text: 'GIT' }, icon: { name: 'github', prefix: 'fab', label: 'GitHub' }, image: { url: '' }, shadow: { size: 0 } } - }, - accent: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, - color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 100 }, - background: { show: false, type: 'image', opacity: 100, image: { url: '' }, video: { url: '' } }, - border: 0, - shape: { wide: false, tall: false }, - timestamp: 1626298038470 - }] - }]; + return [ + { + name: { text: 'Cool stuff', show: true }, + collapse: false, + toolbar: { openAll: { show: true }, collapse: { show: true } }, + items: [ + { + url: 'https://zombiefox.github.io/awesomeSheet/', + display: { + alignment: 'center-center', + direction: 'vertical', + order: 'visual-name', + rotate: 0, + translate: { x: 0, y: 0 }, + gutter: 25, + name: { show: true, text: 'awesomeSheet', size: 7 }, + visual: { + show: true, + type: 'icon', + size: 25, + letter: { text: 'AS' }, + icon: { name: 'dice-d20', prefix: 'fas', label: 'Dice D20' }, + image: { url: '' }, + shadow: { size: 0 }, + }, + }, + accent: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, + border: 0, + shape: { wide: false, tall: false }, + timestamp: 1626297988913, + }, + { + url: 'https://www.amazon.co.uk/', + display: { + alignment: 'center-center', + direction: 'vertical', + order: 'visual-name', + rotate: 0, + translate: { x: 0, y: 0 }, + gutter: 25, + name: { show: true, text: 'Amazon', size: 7 }, + visual: { + show: true, + type: 'letter', + size: 25, + letter: { text: 'AZ' }, + icon: { name: 'amazon', prefix: 'fab', label: 'Amazon' }, + image: { url: '' }, + shadow: { size: 0 }, + }, + }, + accent: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, + border: 0, + shape: { wide: false, tall: false }, + timestamp: 1626297999213, + }, + { + url: 'https://mail.google.com/', + display: { + alignment: 'center-center', + direction: 'vertical', + order: 'visual-name', + rotate: 0, + translate: { x: 0, y: 0 }, + gutter: 25, + name: { show: true, text: 'Gmail', size: 7 }, + visual: { + show: true, + type: 'letter', + size: 25, + letter: { text: 'GM' }, + icon: { name: 'envelope', prefix: 'fas', label: 'Envelope' }, + image: { url: '' }, + shadow: { size: 0 }, + }, + }, + accent: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, + border: 0, + shape: { wide: false, tall: false }, + timestamp: 1626298011293, + }, + { + url: 'https://www.reddit.com/', + display: { + alignment: 'center-center', + direction: 'vertical', + order: 'visual-name', + rotate: 0, + translate: { x: 0, y: 0 }, + gutter: 25, + name: { show: true, text: 'Reddit', size: 7 }, + visual: { + show: true, + type: 'icon', + size: 25, + letter: { text: 'R' }, + icon: { + name: 'reddit-alien', + prefix: 'fab', + label: 'reddit Alien', + }, + image: { url: '' }, + shadow: { size: 0 }, + }, + }, + accent: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, + border: 0, + shape: { wide: false, tall: false }, + timestamp: 1626298017175, + }, + { + url: 'https://www.netflix.com/', + display: { + alignment: 'center-center', + direction: 'vertical', + order: 'visual-name', + rotate: 0, + translate: { x: 0, y: 0 }, + gutter: 25, + name: { show: true, text: 'Netflix', size: 7 }, + visual: { + show: true, + type: 'icon', + size: 25, + letter: { text: 'N' }, + icon: { name: 'film', prefix: 'fas', label: 'Film' }, + image: { url: '' }, + shadow: { size: 0 }, + }, + }, + accent: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, + border: 0, + shape: { wide: false, tall: false }, + timestamp: 1626298022303, + }, + { + url: 'https://drive.google.com/drive/', + display: { + alignment: 'center-center', + direction: 'vertical', + order: 'visual-name', + rotate: 0, + translate: { x: 0, y: 0 }, + gutter: 25, + name: { show: true, text: 'Drive', size: 7 }, + visual: { + show: true, + type: 'letter', + size: 25, + letter: { text: 'DR' }, + icon: { name: 'google-drive', prefix: 'fab', label: 'Drive' }, + image: { url: '' }, + shadow: { size: 0 }, + }, + }, + accent: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, + border: 0, + shape: { wide: false, tall: false }, + timestamp: 1626298028996, + }, + ], + }, + { + name: { text: 'Dev sites', show: true }, + collapse: false, + toolbar: { openAll: { show: true }, collapse: { show: true } }, + items: [ + { + url: 'https://devdocs.io/', + display: { + alignment: 'center-center', + direction: 'vertical', + order: 'visual-name', + rotate: 0, + translate: { x: 0, y: 0 }, + gutter: 25, + name: { show: true, text: 'Devdocs', size: 7 }, + visual: { + show: true, + type: 'icon', + size: 25, + letter: { text: 'DEV' }, + icon: { name: 'code', prefix: 'fas', label: 'Code' }, + image: { url: '' }, + shadow: { size: 0 }, + }, + }, + accent: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, + border: 0, + shape: { wide: false, tall: false }, + timestamp: 1626298034209, + }, + { + url: 'https://github.com/', + display: { + alignment: 'center-center', + direction: 'vertical', + order: 'visual-name', + rotate: 0, + translate: { x: 0, y: 0 }, + gutter: 25, + name: { show: true, text: 'Github', size: 7 }, + visual: { + show: true, + type: 'icon', + size: 25, + letter: { text: 'GIT' }, + icon: { name: 'github', prefix: 'fab', label: 'GitHub' }, + image: { url: '' }, + shadow: { size: 0 }, + }, + }, + accent: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 100, + }, + background: { + show: false, + type: 'image', + opacity: 100, + image: { url: '' }, + video: { url: '' }, + }, + border: 0, + shape: { wide: false, tall: false }, + timestamp: 1626298038470, + }, + ], + }, + ]; }; export { bookmarkPreset }; diff --git a/src/component/bookmarkPreview/index.css b/src/component/bookmarkPreview/index.css index d778045b..9cd2df57 100644 --- a/src/component/bookmarkPreview/index.css +++ b/src/component/bookmarkPreview/index.css @@ -11,7 +11,10 @@ .bookmark-preview-grid { display: grid; grid-auto-rows: var(--group-cell-height); - grid-template-columns: repeat(auto-fill, minmax(var(--group-cell-width), 1fr)); + grid-template-columns: repeat( + auto-fill, + minmax(var(--group-cell-width), 1fr) + ); grid-auto-flow: dense; } @@ -58,137 +61,371 @@ font-size: 1em; } -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark.bookmark-preview .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark.bookmark-preview:hover .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark.bookmark-preview:focus .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark.bookmark-preview .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark.bookmark-preview:hover .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark.bookmark-preview:focus .bookmark-front { +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark.bookmark-preview + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark.bookmark-preview:hover + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark.bookmark-preview:focus + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark.bookmark-preview + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark.bookmark-preview:hover + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark.bookmark-preview:focus + .bookmark-front { box-shadow: none; } -.is-bookmark-shadow-show.is-bookmark-orientation-bottom .bookmark.bookmark-preview:focus .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom .bookmark.bookmark-preview:focus-within .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom .bookmark.bookmark-preview:hover .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark.bookmark-preview:focus .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark.bookmark-preview:focus-within .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit .bookmark.bookmark-preview:hover .bookmark-front { +.is-bookmark-shadow-show.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:focus + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:focus-within + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:hover + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark.bookmark-preview:focus + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark.bookmark-preview:focus-within + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-bottom.is-bookmark-edit + .bookmark.bookmark-preview:hover + .bookmark-front { box-shadow: var(--theme-shadow-bottom-large); } -.is-bookmark-shadow-show.is-bookmark-orientation-top .bookmark.bookmark-preview:focus .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top .bookmark.bookmark-preview:focus-within .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top .bookmark.bookmark-preview:hover .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark.bookmark-preview:focus .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark.bookmark-preview:focus-within .bookmark-front, -.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit .bookmark.bookmark-preview:hover .bookmark-front { +.is-bookmark-shadow-show.is-bookmark-orientation-top + .bookmark.bookmark-preview:focus + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top + .bookmark.bookmark-preview:focus-within + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top + .bookmark.bookmark-preview:hover + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark.bookmark-preview:focus + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark.bookmark-preview:focus-within + .bookmark-front, +.is-bookmark-shadow-show.is-bookmark-orientation-top.is-bookmark-edit + .bookmark.bookmark-preview:hover + .bookmark-front { box-shadow: var(--theme-shadow-top-large); } -.is-bookmark-orientation-top.is-bookmark-url-show .bookmark.bookmark-preview:focus-within .bookmark-url, -.is-bookmark-orientation-top.is-bookmark-url-show .bookmark.bookmark-preview:focus .bookmark-url, -.is-bookmark-orientation-top.is-bookmark-url-show .bookmark.bookmark-preview:hover .bookmark-url { +.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark.bookmark-preview:focus-within + .bookmark-url, +.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark.bookmark-preview:focus + .bookmark-url, +.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark.bookmark-preview:hover + .bookmark-url { top: 0; } -.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark.bookmark-preview:focus-within .bookmark-url, -.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark.bookmark-preview:focus .bookmark-url, -.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark.bookmark-preview:hover .bookmark-url { +.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark.bookmark-preview:focus-within + .bookmark-url, +.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark.bookmark-preview:focus + .bookmark-url, +.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark.bookmark-preview:hover + .bookmark-url { bottom: 0; } -.is-bookmark-edit.is-bookmark-orientation-top .bookmark.bookmark-preview .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top .bookmark.bookmark-preview:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top .bookmark.bookmark-preview:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top .bookmark.bookmark-preview:hover .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc((var(--bookmark-clip-padding) * 1em)), 0 calc((var(--bookmark-clip-padding) * 1em))); -} - -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark.bookmark-preview .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark.bookmark-preview:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark.bookmark-preview:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark.bookmark-preview:hover .bookmark-back { - clip-path: polygon(0 calc(100% - (var(--bookmark-clip-padding) * 1em)), 100% calc(100% - (var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); -} - -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-line-show .bookmark.bookmark-preview .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-line-show .bookmark.bookmark-preview:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-line-show .bookmark.bookmark-preview:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-line-show .bookmark.bookmark-preview:hover .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc(var(--layout-line-width) + calc(var(--bookmark-clip-padding) * 1em)), 0 calc(var(--layout-line-width) + calc(var(--bookmark-clip-padding) * 1em))); -} - -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-line-show .bookmark.bookmark-preview .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-line-show .bookmark.bookmark-preview:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-line-show .bookmark.bookmark-preview:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-line-show .bookmark.bookmark-preview:hover .bookmark-back { - clip-path: polygon(0 calc(100% - (var(--layout-line-width) + var(--bookmark-clip-padding) * 1em)), 100% calc(100% - (var(--layout-line-width) + var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); -} - -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show .bookmark.bookmark-preview .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc((var(--bookmark-clip-padding) * 1em)), 0 calc((var(--bookmark-clip-padding) * 1em))); -} - -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show .bookmark.bookmark-preview:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show .bookmark.bookmark-preview:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show .bookmark.bookmark-preview:hover .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc(var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em)), 0 calc(var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em))); -} - -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark.bookmark-preview .bookmark-back { - clip-path: polygon(0 calc(100% - (var(--bookmark-clip-padding) * 1em)), 100% calc(100% - (var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); -} - -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark.bookmark-preview:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark.bookmark-preview:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show .bookmark.bookmark-preview:hover .bookmark-back { - clip-path: polygon(0 calc(100% - (var(--bookmark-url-height) + var(--bookmark-clip-padding) * 1em)), 100% calc(100% - (var(--bookmark-url-height) + var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); -} - -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show.is-bookmark-line-show .bookmark.bookmark-preview .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc(var(--layout-line-width) + calc(var(--bookmark-clip-padding) * 1em)), 0 calc(var(--layout-line-width) + calc(var(--bookmark-clip-padding) * 1em))); -} - -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show.is-bookmark-line-show .bookmark.bookmark-preview:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show.is-bookmark-line-show .bookmark.bookmark-preview:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show.is-bookmark-line-show .bookmark.bookmark-preview:hover .bookmark-back { - clip-path: polygon(0 0, 100% 0, 100% calc(var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em)), 0 calc(var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em))); -} - -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show.is-bookmark-line-show .bookmark.bookmark-preview .bookmark-back { - clip-path: polygon(0 calc(100% - (var(--layout-line-width) + var(--bookmark-clip-padding) * 1em)), 100% calc(100% - (var(--layout-line-width) + var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); -} - -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show.is-bookmark-line-show .bookmark.bookmark-preview:focus .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show.is-bookmark-line-show .bookmark.bookmark-preview:focus-within .bookmark-back, -.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show.is-bookmark-line-show .bookmark.bookmark-preview:hover .bookmark-back { - clip-path: polygon(0 calc(100% - (var(--bookmark-url-height) + var(--bookmark-clip-padding) * 1em)), 100% calc(100% - (var(--bookmark-url-height) + var(--bookmark-clip-padding) * 1em)), 100% 100%, 0 100%); -} - -.is-bookmark-edit.is-bookmark-orientation-top .bookmark.bookmark-preview .bookmark-front, -.is-bookmark-edit.is-bookmark-orientation-top .bookmark.bookmark-preview:hover .bookmark-front, -.is-bookmark-edit.is-bookmark-orientation-top .bookmark.bookmark-preview:focus .bookmark-front { +.is-bookmark-edit.is-bookmark-orientation-top + .bookmark.bookmark-preview + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top + .bookmark.bookmark-preview:focus + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top + .bookmark.bookmark-preview:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top + .bookmark.bookmark-preview:hover + .bookmark-back { + clip-path: polygon( + 0 0, + 100% 0, + 100% calc((var(--bookmark-clip-padding) * 1em)), + 0 calc((var(--bookmark-clip-padding) * 1em)) + ); +} + +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark.bookmark-preview + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:focus + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:hover + .bookmark-back { + clip-path: polygon( + 0 calc(100% - (var(--bookmark-clip-padding) * 1em)), + 100% calc(100% - (var(--bookmark-clip-padding) * 1em)), + 100% 100%, + 0 100% + ); +} + +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-line-show + .bookmark.bookmark-preview + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-line-show + .bookmark.bookmark-preview:focus + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-line-show + .bookmark.bookmark-preview:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-line-show + .bookmark.bookmark-preview:hover + .bookmark-back { + clip-path: polygon( + 0 0, + 100% 0, + 100% + calc(var(--layout-line-width) + calc(var(--bookmark-clip-padding) * 1em)), + 0 calc(var(--layout-line-width) + calc(var(--bookmark-clip-padding) * 1em)) + ); +} + +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-line-show + .bookmark.bookmark-preview + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-line-show + .bookmark.bookmark-preview:focus + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-line-show + .bookmark.bookmark-preview:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-line-show + .bookmark.bookmark-preview:hover + .bookmark-back { + clip-path: polygon( + 0 + calc( + 100% - (var(--layout-line-width) + var(--bookmark-clip-padding) * 1em) + ), + 100% + calc( + 100% - (var(--layout-line-width) + var(--bookmark-clip-padding) * 1em) + ), + 100% 100%, + 0 100% + ); +} + +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark.bookmark-preview + .bookmark-back { + clip-path: polygon( + 0 0, + 100% 0, + 100% calc((var(--bookmark-clip-padding) * 1em)), + 0 calc((var(--bookmark-clip-padding) * 1em)) + ); +} + +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark.bookmark-preview:focus + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark.bookmark-preview:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show + .bookmark.bookmark-preview:hover + .bookmark-back { + clip-path: polygon( + 0 0, + 100% 0, + 100% + calc( + var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em) + ), + 0 + calc( + var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em) + ) + ); +} + +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark.bookmark-preview + .bookmark-back { + clip-path: polygon( + 0 calc(100% - (var(--bookmark-clip-padding) * 1em)), + 100% calc(100% - (var(--bookmark-clip-padding) * 1em)), + 100% 100%, + 0 100% + ); +} + +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark.bookmark-preview:focus + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark.bookmark-preview:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show + .bookmark.bookmark-preview:hover + .bookmark-back { + clip-path: polygon( + 0 + calc( + 100% - (var(--bookmark-url-height) + var(--bookmark-clip-padding) * 1em) + ), + 100% + calc( + 100% - (var(--bookmark-url-height) + var(--bookmark-clip-padding) * 1em) + ), + 100% 100%, + 0 100% + ); +} + +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show.is-bookmark-line-show + .bookmark.bookmark-preview + .bookmark-back { + clip-path: polygon( + 0 0, + 100% 0, + 100% + calc(var(--layout-line-width) + calc(var(--bookmark-clip-padding) * 1em)), + 0 calc(var(--layout-line-width) + calc(var(--bookmark-clip-padding) * 1em)) + ); +} + +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show.is-bookmark-line-show + .bookmark.bookmark-preview:focus + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show.is-bookmark-line-show + .bookmark.bookmark-preview:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-top.is-bookmark-url-show.is-bookmark-line-show + .bookmark.bookmark-preview:hover + .bookmark-back { + clip-path: polygon( + 0 0, + 100% 0, + 100% + calc( + var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em) + ), + 0 + calc( + var(--bookmark-url-height) + calc(var(--bookmark-clip-padding) * 1em) + ) + ); +} + +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show.is-bookmark-line-show + .bookmark.bookmark-preview + .bookmark-back { + clip-path: polygon( + 0 + calc( + 100% - (var(--layout-line-width) + var(--bookmark-clip-padding) * 1em) + ), + 100% + calc( + 100% - (var(--layout-line-width) + var(--bookmark-clip-padding) * 1em) + ), + 100% 100%, + 0 100% + ); +} + +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show.is-bookmark-line-show + .bookmark.bookmark-preview:focus + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show.is-bookmark-line-show + .bookmark.bookmark-preview:focus-within + .bookmark-back, +.is-bookmark-edit.is-bookmark-orientation-bottom.is-bookmark-url-show.is-bookmark-line-show + .bookmark.bookmark-preview:hover + .bookmark-back { + clip-path: polygon( + 0 + calc( + 100% - (var(--bookmark-url-height) + var(--bookmark-clip-padding) * 1em) + ), + 100% + calc( + 100% - (var(--bookmark-url-height) + var(--bookmark-clip-padding) * 1em) + ), + 100% 100%, + 0 100% + ); +} + +.is-bookmark-edit.is-bookmark-orientation-top + .bookmark.bookmark-preview + .bookmark-front, +.is-bookmark-edit.is-bookmark-orientation-top + .bookmark.bookmark-preview:hover + .bookmark-front, +.is-bookmark-edit.is-bookmark-orientation-top + .bookmark.bookmark-preview:focus + .bookmark-front { border-top-left-radius: calc(var(--theme-radius) * 0.01em); border-top-right-radius: calc(var(--theme-radius) * 0.01em); } -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark.bookmark-preview .bookmark-front, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark.bookmark-preview:hover .bookmark-front, -.is-bookmark-edit.is-bookmark-orientation-bottom .bookmark.bookmark-preview:focus .bookmark-front { +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark.bookmark-preview + .bookmark-front, +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:hover + .bookmark-front, +.is-bookmark-edit.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:focus + .bookmark-front { border-bottom-left-radius: calc(var(--theme-radius) * 0.01em); border-bottom-right-radius: calc(var(--theme-radius) * 0.01em); } -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark.bookmark-preview:focus .bookmark-front, -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark.bookmark-preview:focus-within .bookmark-front, -.is-bookmark-url-show.is-bookmark-orientation-top .bookmark.bookmark-preview:hover .bookmark-front { +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark.bookmark-preview:focus + .bookmark-front, +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark.bookmark-preview:focus-within + .bookmark-front, +.is-bookmark-url-show.is-bookmark-orientation-top + .bookmark.bookmark-preview:hover + .bookmark-front { border-top-left-radius: calc((var(--theme-radius) * 0.25) * 0.01em); border-top-right-radius: calc((var(--theme-radius) * 0.25) * 0.01em); } -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark.bookmark-preview:focus .bookmark-front, -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark.bookmark-preview:focus-within .bookmark-front, -.is-bookmark-url-show.is-bookmark-orientation-bottom .bookmark.bookmark-preview:hover .bookmark-front { +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:focus + .bookmark-front, +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:focus-within + .bookmark-front, +.is-bookmark-url-show.is-bookmark-orientation-bottom + .bookmark.bookmark-preview:hover + .bookmark-front { border-bottom-left-radius: calc((var(--theme-radius) * 0.25) * 0.01em); border-bottom-right-radius: calc((var(--theme-radius) * 0.25) * 0.01em); } diff --git a/src/component/bookmarkPreview/index.js b/src/component/bookmarkPreview/index.js index 921b7729..521779dc 100644 --- a/src/component/bookmarkPreview/index.js +++ b/src/component/bookmarkPreview/index.js @@ -6,10 +6,7 @@ import { node } from '../../utility/node'; import './index.css'; -export const BookmarkPreview = function({ - bookmarkData = false -} = {}) { - +export const BookmarkPreview = function ({ bookmarkData = false } = {}) { this.area = node('div|class:bookmark-preview-area'); this.grid = node('div|class:bookmark-preview-grid'); @@ -17,7 +14,6 @@ export const BookmarkPreview = function({ this.title = node('div|class:bookmark-preview-title small muted'); this.shape = () => { - if (bookmarkData.link.shape.tall) { this.grid.classList.add('bookmark-preview-grid-tall'); } else { @@ -35,12 +31,11 @@ export const BookmarkPreview = function({ } else { this.title.textContent = message.get('bookmarkPreviewFull'); } - }; this.bookmarkTile = new BookmarkTile({ bookmarkData: bookmarkData, - preview: true + preview: true, }); this.update = {}; @@ -62,7 +57,7 @@ export const BookmarkPreview = function({ this.bookmarkTile = new BookmarkTile({ bookmarkData: bookmarkData, - preview: true + preview: true, }); this.shape(); @@ -85,5 +80,4 @@ export const BookmarkPreview = function({ this.preview = () => { return this.area; }; - }; diff --git a/src/component/bookmarkTile/index.js b/src/component/bookmarkTile/index.js index 252c9f8f..c10b89f2 100644 --- a/src/component/bookmarkTile/index.js +++ b/src/component/bookmarkTile/index.js @@ -18,11 +18,7 @@ import { complexNode } from '../../utility/complexNode'; import { isValidString } from '../../utility/isValidString'; import { trimString } from '../../utility/trimString'; -const BookmarkTile = function({ - bookmarkData = {}, - preview = false -} = {}) { - +const BookmarkTile = function ({ bookmarkData = {}, preview = false } = {}) { this.data = bookmarkData; this.element = { @@ -36,30 +32,45 @@ const BookmarkTile = function({ display: node('div|class:bookmark-display'), visual: { visual: node('div|class:bookmark-display-visual'), - letter: complexNode({ tag: 'div', text: bookmarkData.link.display.visual.letter.text, attr: [{ key: 'class', value: 'bookmark-display-visual-letter' }] }), + letter: complexNode({ + tag: 'div', + text: bookmarkData.link.display.visual.letter.text, + attr: [{ key: 'class', value: 'bookmark-display-visual-letter' }], + }), icon: node('div|class:bookmark-display-visual-icon'), - faIcon: node('div|class:' + bookmarkData.link.display.visual.icon.prefix + ' fa-' + bookmarkData.link.display.visual.icon.name), - image: node('div|class:bookmark-display-visual-image') + faIcon: node( + 'div|class:' + + bookmarkData.link.display.visual.icon.prefix + + ' fa-' + + bookmarkData.link.display.visual.icon.name + ), + image: node('div|class:bookmark-display-visual-image'), }, name: { name: node('div|class:bookmark-display-name'), - text: complexNode({ tag: 'div', text: bookmarkData.link.display.name.text, attr: [{ key: 'class', value: 'bookmark-display-name-text' }] }) - } + text: complexNode({ + tag: 'div', + text: bookmarkData.link.display.name.text, + attr: [{ key: 'class', value: 'bookmark-display-name-text' }], + }), + }, }, background: { wrap: node('div|class:bookmark-background-wrap'), image: node('div|class:bookmark-background-image'), - video: node('div|class:bookmark-background-video') - } + video: node('div|class:bookmark-background-video'), + }, }, url: { url: node('div|class:bookmark-url'), - text: node('span|class:bookmark-url-text') + text: node('span|class:bookmark-url-text'), }, - control: node('div|class:bookmark-control') + control: node('div|class:bookmark-control'), }; - if (preview) { this.element.bookmark.classList.add('bookmark-preview'); } + if (preview) { + this.element.bookmark.classList.add('bookmark-preview'); + } this.control = {}; @@ -72,7 +83,6 @@ const BookmarkTile = function({ title: message.get('bookmarkTileControlLeft'), classList: ['bookmark-control-button', 'bookmark-control-left'], func: () => { - bookmarkData.position.destination.item--; if (bookmarkData.position.destination.item < 0) { @@ -84,8 +94,7 @@ const BookmarkTile = function({ groupAndBookmark.render(); data.save(); - - } + }, }), sort: new Button({ text: message.get('bookmarkTileControlSort'), @@ -93,7 +102,7 @@ const BookmarkTile = function({ iconName: 'drag', style: ['link'], title: message.get('bookmarkTileControlSort'), - classList: ['bookmark-control-button', 'bookmark-control-sort'] + classList: ['bookmark-control-button', 'bookmark-control-sort'], }), right: new Button({ text: message.get('bookmarkTileControlRight'), @@ -103,11 +112,15 @@ const BookmarkTile = function({ title: message.get('bookmarkTileControlRight'), classList: ['bookmark-control-button', 'bookmark-control-right'], func: () => { - bookmarkData.position.destination.item++; - if (bookmarkData.position.destination.item > bookmark.all[bookmarkData.position.destination.group].items.length - 1) { - bookmarkData.position.destination.item = bookmark.all[bookmarkData.position.destination.group].items.length - 1; + if ( + bookmarkData.position.destination.item > + bookmark.all[bookmarkData.position.destination.group].items.length - 1 + ) { + bookmarkData.position.destination.item = + bookmark.all[bookmarkData.position.destination.group].items.length - + 1; } bookmark.item.mod.move(bookmarkData); @@ -115,8 +128,7 @@ const BookmarkTile = function({ groupAndBookmark.render(); data.save(); - - } + }, }), edit: new Button({ text: message.get('bookmarkTileControlEdit'), @@ -126,34 +138,41 @@ const BookmarkTile = function({ title: message.get('bookmarkTileControlEdit'), classList: ['bookmark-control-button', 'bookmark-control-edit'], func: () => { - let newBookmarkData = new StagedBookmark(); newBookmarkData.link = JSON.parse(JSON.stringify(bookmarkData.link)); - newBookmarkData.position = JSON.parse(JSON.stringify(bookmarkData.position)); + newBookmarkData.position = JSON.parse( + JSON.stringify(bookmarkData.position) + ); newBookmarkData.type.existing = true; - const bookmarkForm = new BookmarkForm({ bookmarkData: newBookmarkData }); + const bookmarkForm = new BookmarkForm({ + bookmarkData: newBookmarkData, + }); const editModal = new Modal({ - heading: isValidString(newBookmarkData.link.display.name.text) ? `${message.get('bookmarkEditHeadingName')} ${newBookmarkData.link.display.name.text}` : message.get('bookmarkEditHeadingUnnamed'), + heading: isValidString(newBookmarkData.link.display.name.text) + ? `${message.get('bookmarkEditHeadingName')} ${ + newBookmarkData.link.display.name.text + }` + : message.get('bookmarkEditHeadingUnnamed'), content: bookmarkForm.form(), successText: message.get('bookmarkEditSuccessText'), cancelText: message.get('bookmarkEditCancelText'), - width: (state.get.current().bookmark.style === 'block') ? 60 : 70, + width: state.get.current().bookmark.style === 'block' ? 60 : 70, maxHeight: true, successAction: () => { - switch (newBookmarkData.group.destination) { case 'new': { - newBookmarkData.position.destination.group = bookmark.all.length; + newBookmarkData.position.destination.group = + bookmark.all.length; const newGroupData = new StagedGroup(); newGroupData.newGroup({ - name: newBookmarkData.group.name + name: newBookmarkData.group.name, }); group.item.mod.add(newGroupData); @@ -169,15 +188,13 @@ const BookmarkTile = function({ groupAndBookmark.render(); data.save(); - - } + }, }); editModal.open(); bookmarkForm.tab.update(); - - } + }, }), remove: new Button({ text: message.get('bookmarkTileControlRemove'), @@ -187,72 +204,71 @@ const BookmarkTile = function({ title: message.get('bookmarkTileControlRemove'), classList: ['bookmark-control-button', 'bookmark-control-remove'], func: () => { - const removeModal = new Modal({ - heading: isValidString(bookmarkData.link.display.name.text) ? `${message.get('bookmarkRemoveHeadingName')} ${bookmarkData.link.display.name.text}` : message.get('bookmarkRemoveHeadingUnnamed'), + heading: isValidString(bookmarkData.link.display.name.text) + ? `${message.get('bookmarkRemoveHeadingName')} ${ + bookmarkData.link.display.name.text + }` + : message.get('bookmarkRemoveHeadingUnnamed'), content: message.get('bookmarkRemoveContent'), successText: message.get('bookmarkRemoveSuccessText'), cancelText: message.get('bookmarkRemoveCancelText'), width: 'small', successAction: () => { - bookmark.item.mod.remove(bookmarkData); groupAndBookmark.render(); data.save(); - - } + }, }); removeModal.open(); - - } - }) + }, + }), }; this.control.disable = () => { - for (var key in this.control.button) { this.control.button[key].disable(); } this.control.searchState(); - }; this.control.enable = () => { - for (var key in this.control.button) { this.control.button[key].enable(); } this.control.searchState(); - }; this.control.searchState = () => { - if (state.get.current().search) { this.control.button.left.disable(); this.control.button.right.disable(); this.control.button.sort.disable(); - } else if (state.get.current().bookmark.edit && !state.get.current().search) { + } else if ( + state.get.current().bookmark.edit && + !state.get.current().search + ) { this.control.button.left.enable(); this.control.button.right.enable(); this.control.button.sort.enable(); } - }; this.style = (newBookmarkData) => { - if (newBookmarkData) { bookmarkData = newBookmarkData; } if (isValidString(bookmarkData.link.url) && !preview) { - this.element.content.link.setAttribute('href', trimString(bookmarkData.link.url)); + this.element.content.link.setAttribute( + 'href', + trimString(bookmarkData.link.url) + ); } else { this.element.content.link.setAttribute('href', '#'); } @@ -262,27 +278,39 @@ const BookmarkTile = function({ } if (!preview) { - this.element.bookmark.style.setProperty('--bookmark-transition-delay', bookmarkData.position.origin.item); + this.element.bookmark.style.setProperty( + '--bookmark-transition-delay', + bookmarkData.position.origin.item + ); } - this.element.bookmark.style.setProperty('--theme-bookmark-item-opacity', bookmarkData.link.color.opacity); + this.element.bookmark.style.setProperty( + '--theme-bookmark-item-opacity', + bookmarkData.link.color.opacity + ); if (bookmarkData.link.color.opacity < 100) { this.element.bookmark.style.setProperty('--bookmark-clip-padding', 0); } if (bookmarkData.link.color.opacity < 40) { - this.element.bookmark.classList.add('is-bookmark-opacity-low'); - } else { - this.element.bookmark.classList.remove('is-bookmark-opacity-low'); - } if (preview) { - const alignment = ['top-left', 'top-center', 'top-right', 'center-left', 'center-center', 'center-right', 'bottom-left', 'bottom-center', 'bottom-right']; + const alignment = [ + 'top-left', + 'top-center', + 'top-right', + 'center-left', + 'center-center', + 'center-right', + 'bottom-left', + 'bottom-center', + 'bottom-right', + ]; alignment.forEach((item) => { this.element.bookmark.classList.remove('is-bookmark-alignment-' + item); @@ -299,127 +327,250 @@ const BookmarkTile = function({ }); } - this.element.bookmark.classList.add('is-bookmark-alignment-' + bookmarkData.link.display.alignment); - - this.element.bookmark.classList.add('is-bookmark-order-' + bookmarkData.link.display.order); - - this.element.bookmark.classList.add('is-bookmark-direction-' + bookmarkData.link.display.direction); - - this.element.bookmark.style.setProperty('--bookmark-display-translate-x', bookmarkData.link.display.translate.x); - - this.element.bookmark.style.setProperty('--bookmark-display-translate-y', bookmarkData.link.display.translate.y); - - this.element.bookmark.style.setProperty('--bookmark-display-rotate', bookmarkData.link.display.rotate); - - this.element.bookmark.style.setProperty('--bookmark-display-gutter', bookmarkData.link.display.gutter); - - this.element.bookmark.style.setProperty('--bookmark-display-visual-size', bookmarkData.link.display.visual.size); - - this.element.bookmark.style.setProperty('--bookmark-display-visual-image-url', 'url("' + trimString(bookmarkData.link.display.visual.image.url) + '")'); - - this.element.bookmark.style.setProperty('--bookmark-display-name-size', bookmarkData.link.display.name.size); - - this.element.bookmark.style.setProperty('--bookmark-border', bookmarkData.link.border); + this.element.bookmark.classList.add( + 'is-bookmark-alignment-' + bookmarkData.link.display.alignment + ); + + this.element.bookmark.classList.add( + 'is-bookmark-order-' + bookmarkData.link.display.order + ); + + this.element.bookmark.classList.add( + 'is-bookmark-direction-' + bookmarkData.link.display.direction + ); + + this.element.bookmark.style.setProperty( + '--bookmark-display-translate-x', + bookmarkData.link.display.translate.x + ); + + this.element.bookmark.style.setProperty( + '--bookmark-display-translate-y', + bookmarkData.link.display.translate.y + ); + + this.element.bookmark.style.setProperty( + '--bookmark-display-rotate', + bookmarkData.link.display.rotate + ); + + this.element.bookmark.style.setProperty( + '--bookmark-display-gutter', + bookmarkData.link.display.gutter + ); + + this.element.bookmark.style.setProperty( + '--bookmark-display-visual-size', + bookmarkData.link.display.visual.size + ); + + this.element.bookmark.style.setProperty( + '--bookmark-display-visual-image-url', + 'url("' + trimString(bookmarkData.link.display.visual.image.url) + '")' + ); + + this.element.bookmark.style.setProperty( + '--bookmark-display-name-size', + bookmarkData.link.display.name.size + ); + + this.element.bookmark.style.setProperty( + '--bookmark-border', + bookmarkData.link.border + ); if (bookmarkData.link.accent.by == 'custom') { + this.element.bookmark.style.setProperty( + '--theme-accent-rgb-r', + bookmarkData.link.accent.rgb.r + ); - this.element.bookmark.style.setProperty('--theme-accent-rgb-r', bookmarkData.link.accent.rgb.r); - - this.element.bookmark.style.setProperty('--theme-accent-rgb-g', bookmarkData.link.accent.rgb.g); - - this.element.bookmark.style.setProperty('--theme-accent-rgb-b', bookmarkData.link.accent.rgb.b); + this.element.bookmark.style.setProperty( + '--theme-accent-rgb-g', + bookmarkData.link.accent.rgb.g + ); - this.element.bookmark.style.setProperty('--theme-accent', 'var(--theme-accent-rgb-r), var(--theme-accent-rgb-g), var(--theme-accent-rgb-b)'); + this.element.bookmark.style.setProperty( + '--theme-accent-rgb-b', + bookmarkData.link.accent.rgb.b + ); - this.element.bookmark.style.setProperty('--theme-accent-text', '0, 0%, calc(((((var(--theme-accent-rgb-r) * var(--theme-t-r)) + (var(--theme-accent-rgb-g) * var(--theme-t-g)) + (var(--theme-accent-rgb-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)'); + this.element.bookmark.style.setProperty( + '--theme-accent', + 'var(--theme-accent-rgb-r), var(--theme-accent-rgb-g), var(--theme-accent-rgb-b)' + ); - this.element.bookmark.style.setProperty('--bookmark-display-visual-color', 'var(--theme-accent)'); + this.element.bookmark.style.setProperty( + '--theme-accent-text', + '0, 0%, calc(((((var(--theme-accent-rgb-r) * var(--theme-t-r)) + (var(--theme-accent-rgb-g) * var(--theme-t-g)) + (var(--theme-accent-rgb-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)' + ); + this.element.bookmark.style.setProperty( + '--bookmark-display-visual-color', + 'var(--theme-accent)' + ); } if (bookmarkData.link.display.visual.shadow.size > 0) { + this.element.bookmark.style.setProperty( + '--bookmark-display-visual-shadow-size', + bookmarkData.link.display.visual.shadow.size + ); - this.element.bookmark.style.setProperty('--bookmark-display-visual-shadow-size', bookmarkData.link.display.visual.shadow.size); - - this.element.bookmark.style.setProperty('--bookmark-display-visual-shadow-offset', '0.1'); + this.element.bookmark.style.setProperty( + '--bookmark-display-visual-shadow-offset', + '0.1' + ); - this.element.bookmark.style.setProperty('--bookmark-display-visual-shadow-blur', '0.1'); + this.element.bookmark.style.setProperty( + '--bookmark-display-visual-shadow-blur', + '0.1' + ); - this.element.bookmark.style.setProperty('--bookmark-display-visual-shadow-opacity', '0.1'); + this.element.bookmark.style.setProperty( + '--bookmark-display-visual-shadow-opacity', + '0.1' + ); this.element.bookmark.style.setProperty( '--bookmark-display-visual-shadow', '0 ' + - 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-offset) * 8)) * 0.01em) ' + - 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-blur) * 8)) * 0.01em)' + - 'rgba(0, 0, 0, calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-opacity) / 25) * 1))), ' + - '0 ' + - 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-offset) * 16)) * 0.01em) ' + - 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-blur) * 16)) * 0.01em)' + - 'rgba(0, 0, 0, calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-opacity) / 25) * 2))), ' + - '0 ' + - 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-offset) * 32)) * 0.01em) ' + - 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-blur) * 32)) * 0.01em)' + - 'rgba(0, 0, 0, calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-opacity) / 25) * 3)))' + 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-offset) * 8)) * 0.01em) ' + + 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-blur) * 8)) * 0.01em)' + + 'rgba(0, 0, 0, calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-opacity) / 25) * 1))), ' + + '0 ' + + 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-offset) * 16)) * 0.01em) ' + + 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-blur) * 16)) * 0.01em)' + + 'rgba(0, 0, 0, calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-opacity) / 25) * 2))), ' + + '0 ' + + 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-offset) * 32)) * 0.01em) ' + + 'calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-blur) * 32)) * 0.01em)' + + 'rgba(0, 0, 0, calc(var(--bookmark-display-visual-shadow-size) * calc(calc(var(--bookmark-display-visual-shadow-opacity) / 25) * 3)))' ); - } else { + this.element.bookmark.style.removeProperty( + '--bookmark-display-visual-shadow-size' + ); - this.element.bookmark.style.removeProperty('--bookmark-display-visual-shadow-size'); - - this.element.bookmark.style.removeProperty('--bookmark-display-visual-shadow-offset'); - - this.element.bookmark.style.removeProperty('--bookmark-display-visual-shadow-blur'); + this.element.bookmark.style.removeProperty( + '--bookmark-display-visual-shadow-offset' + ); - this.element.bookmark.style.removeProperty('--bookmark-display-visual-shadow-opacity'); + this.element.bookmark.style.removeProperty( + '--bookmark-display-visual-shadow-blur' + ); - this.element.bookmark.style.removeProperty('--bookmark-display-visual-shadow'); + this.element.bookmark.style.removeProperty( + '--bookmark-display-visual-shadow-opacity' + ); + this.element.bookmark.style.removeProperty( + '--bookmark-display-visual-shadow' + ); } if (bookmarkData.link.color.by == 'custom') { + this.element.bookmark.style.setProperty( + '--theme-color-r', + bookmarkData.link.color.rgb.r + ); - this.element.bookmark.style.setProperty('--theme-color-r', bookmarkData.link.color.rgb.r); - - this.element.bookmark.style.setProperty('--theme-color-g', bookmarkData.link.color.rgb.g); - - this.element.bookmark.style.setProperty('--theme-color-b', bookmarkData.link.color.rgb.b); + this.element.bookmark.style.setProperty( + '--theme-color-g', + bookmarkData.link.color.rgb.g + ); - this.element.bookmark.style.setProperty('--theme-color-h', bookmarkData.link.color.hsl.h); + this.element.bookmark.style.setProperty( + '--theme-color-b', + bookmarkData.link.color.rgb.b + ); - this.element.bookmark.style.setProperty('--theme-color-s', bookmarkData.link.color.hsl.s); + this.element.bookmark.style.setProperty( + '--theme-color-h', + bookmarkData.link.color.hsl.h + ); - this.element.bookmark.style.setProperty('--theme-color-l', bookmarkData.link.color.hsl.l); + this.element.bookmark.style.setProperty( + '--theme-color-s', + bookmarkData.link.color.hsl.s + ); - this.element.bookmark.style.setProperty('--theme-color', bookmarkData.link.color.hsl.h + ', ' + bookmarkData.link.color.hsl.s + '%, ' + bookmarkData.link.color.hsl.l + '%'); + this.element.bookmark.style.setProperty( + '--theme-color-l', + bookmarkData.link.color.hsl.l + ); - this.element.bookmark.style.setProperty('--theme-color-text', '0, 0%, calc(((((var(--theme-color-r) * var(--theme-t-r)) + (var(--theme-color-g) * var(--theme-t-g)) + (var(--theme-color-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)'); + this.element.bookmark.style.setProperty( + '--theme-color', + bookmarkData.link.color.hsl.h + + ', ' + + bookmarkData.link.color.hsl.s + + '%, ' + + bookmarkData.link.color.hsl.l + + '%' + ); - this.element.bookmark.style.setProperty('--bookmark-color', 'var(--theme-color)'); + this.element.bookmark.style.setProperty( + '--theme-color-text', + '0, 0%, calc(((((var(--theme-color-r) * var(--theme-t-r)) + (var(--theme-color-g) * var(--theme-t-g)) + (var(--theme-color-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)' + ); - this.element.bookmark.style.setProperty('--bookmark-color-focus-hover', 'var(--theme-color)'); + this.element.bookmark.style.setProperty( + '--bookmark-color', + 'var(--theme-color)' + ); - this.element.bookmark.style.setProperty('--bookmark-display-visual-color-focus-hover', 'var(--theme-color-text)'); + this.element.bookmark.style.setProperty( + '--bookmark-color-focus-hover', + 'var(--theme-color)' + ); - this.element.bookmark.style.setProperty('--bookmark-display-name-color', 'var(--theme-color-text)'); + this.element.bookmark.style.setProperty( + '--bookmark-display-visual-color-focus-hover', + 'var(--theme-color-text)' + ); - this.element.bookmark.style.setProperty('--bookmark-display-name-color-focus-hover', 'var(--theme-color-text)'); + this.element.bookmark.style.setProperty( + '--bookmark-display-name-color', + 'var(--theme-color-text)' + ); - this.element.bookmark.style.setProperty('--button-link-text', 'var(--theme-color-text)'); + this.element.bookmark.style.setProperty( + '--bookmark-display-name-color-focus-hover', + 'var(--theme-color-text)' + ); - this.element.bookmark.style.setProperty('--button-link-text-focus-hover', 'var(--theme-color-text)'); + this.element.bookmark.style.setProperty( + '--button-link-text', + 'var(--theme-color-text)' + ); - this.element.bookmark.style.setProperty('--button-link-text-active', 'var(--theme-color-text)'); + this.element.bookmark.style.setProperty( + '--button-link-text-focus-hover', + 'var(--theme-color-text)' + ); + this.element.bookmark.style.setProperty( + '--button-link-text-active', + 'var(--theme-color-text)' + ); } if (bookmarkData.link.background.show) { - this.element.bookmark.style.setProperty('--bookmark-background-opacity', bookmarkData.link.background.opacity); + this.element.bookmark.style.setProperty( + '--bookmark-background-opacity', + bookmarkData.link.background.opacity + ); switch (bookmarkData.link.background.type) { case 'image': if (isValidString(bookmarkData.link.background.image.url)) { - this.element.bookmark.style.setProperty('--bookmark-background-image-url', 'url("' + trimString(bookmarkData.link.background.image.url) + '")'); + this.element.bookmark.style.setProperty( + '--bookmark-background-image-url', + 'url("' + + trimString(bookmarkData.link.background.image.url) + + '")' + ); } break; } @@ -432,85 +583,106 @@ const BookmarkTile = function({ if (bookmarkData.link.shape.wide) { this.element.bookmark.classList.add('bookmark-wide'); } - }; this.assemble = () => { - - if (bookmarkData.link.display.visual.show || bookmarkData.link.display.name.show) { + if ( + bookmarkData.link.display.visual.show || + bookmarkData.link.display.name.show + ) { if (bookmarkData.link.display.visual.show) { switch (bookmarkData.link.display.visual.type) { case 'letter': if (isValidString(bookmarkData.link.display.visual.letter.text)) { - this.element.content.display.visual.visual.appendChild(this.element.content.display.visual.letter); - this.element.content.display.display.appendChild(this.element.content.display.visual.visual); + this.element.content.display.visual.visual.appendChild( + this.element.content.display.visual.letter + ); + this.element.content.display.display.appendChild( + this.element.content.display.visual.visual + ); } break; case 'icon': if (isValidString(bookmarkData.link.display.visual.icon.name)) { - this.element.content.display.visual.icon.appendChild(this.element.content.display.visual.faIcon); - this.element.content.display.visual.visual.appendChild(this.element.content.display.visual.icon); - this.element.content.display.display.appendChild(this.element.content.display.visual.visual); + this.element.content.display.visual.icon.appendChild( + this.element.content.display.visual.faIcon + ); + this.element.content.display.visual.visual.appendChild( + this.element.content.display.visual.icon + ); + this.element.content.display.display.appendChild( + this.element.content.display.visual.visual + ); } break; case 'image': if (isValidString(bookmarkData.link.display.visual.image.url)) { - this.element.content.display.visual.visual.appendChild(this.element.content.display.visual.image); - this.element.content.display.display.appendChild(this.element.content.display.visual.visual); + this.element.content.display.visual.visual.appendChild( + this.element.content.display.visual.image + ); + this.element.content.display.display.appendChild( + this.element.content.display.visual.visual + ); } break; } } - if (bookmarkData.link.display.name.show && isValidString(bookmarkData.link.display.name.text)) { - this.element.content.display.name.name.appendChild(this.element.content.display.name.text); - this.element.content.display.display.appendChild(this.element.content.display.name.name); + if ( + bookmarkData.link.display.name.show && + isValidString(bookmarkData.link.display.name.text) + ) { + this.element.content.display.name.name.appendChild( + this.element.content.display.name.text + ); + this.element.content.display.display.appendChild( + this.element.content.display.name.name + ); } - this.element.content.display.wrap.appendChild(this.element.content.display.display); + this.element.content.display.wrap.appendChild( + this.element.content.display.display + ); this.element.content.link.appendChild(this.element.content.display.wrap); } if (bookmarkData.link.background.show) { - switch (bookmarkData.link.background.type) { - case 'image': - - this.element.content.background.wrap.appendChild(this.element.content.background.image); + this.element.content.background.wrap.appendChild( + this.element.content.background.image + ); break; case 'video': - - this.element.content.background.wrap.appendChild(this.element.content.background.video); + this.element.content.background.wrap.appendChild( + this.element.content.background.video + ); if (isValidString(bookmarkData.link.background.video.url)) { - this.video = new Video({ - url: bookmarkData.link.background.video.url + url: bookmarkData.link.background.video.url, }); this.element.content.background.video.appendChild(this.video.video); this.bind.add(); - } else { - this.video = false; this.bind.remove(); - } break; } - this.element.content.link.appendChild(this.element.content.background.wrap); - + this.element.content.link.appendChild( + this.element.content.background.wrap + ); } this.element.bookmark.appendChild(this.element.front); @@ -532,15 +704,16 @@ const BookmarkTile = function({ this.element.back.appendChild(this.element.control); if (isValidString(bookmarkData.link.url)) { - - this.element.url.text.textContent = trimString(bookmarkData.link.url).replace(/^https?:\/\//i, '').replace('www.', '').replace(/\/+$/, ''); + this.element.url.text.textContent = trimString(bookmarkData.link.url) + .replace(/^https?:\/\//i, '') + .replace('www.', '') + .replace(/\/+$/, ''); this.element.url.text.title = trimString(bookmarkData.link.url); this.element.url.url.appendChild(this.element.url.text); this.element.back.appendChild(this.element.url.url); - } if (state.get.current().bookmark.edit) { @@ -548,46 +721,31 @@ const BookmarkTile = function({ } else { this.control.disable(); } - }; this.tile = () => { - return this.element.bookmark; - }; this.update = (newBookmarkData) => { - this.style(newBookmarkData); - }; this.bind = { add: () => { - if (this.video) { - this.video.bind.add(); - } - }, remove: () => { - if (this.video) { - this.video.bind.remove(); - } - - } + }, }; this.clear = () => { - this.bind.remove(); - }; this.video = false; @@ -595,7 +753,6 @@ const BookmarkTile = function({ this.assemble(); this.style(); - }; export { BookmarkTile }; diff --git a/src/component/browserDetect/index.js b/src/component/browserDetect/index.js index de846b95..891409b5 100644 --- a/src/component/browserDetect/index.js +++ b/src/component/browserDetect/index.js @@ -1,11 +1,10 @@ export const browserDetect = () => { - const userAgent = navigator.userAgent; let browserName = { chrome: false, firefox: false, - none: false + none: false, }; if (userAgent.match(/chrome|chromium|crios/i)) { @@ -17,5 +16,4 @@ export const browserDetect = () => { } return browserName; - }; diff --git a/src/component/button/index.css b/src/component/button/index.css index 113ce72b..7c0c40a4 100644 --- a/src/component/button/index.css +++ b/src/component/button/index.css @@ -53,7 +53,9 @@ input[type="submit"] { flex-direction: row; justify-content: center; align-items: center; - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast); } button:focus, @@ -121,7 +123,12 @@ button:disabled:active, left: 0; width: 100%; height: 100%; - clip-path: polygon(0 calc(100% - var(--layout-line-width)), 100% calc(100% - var(--layout-line-width)), 100% 100%, 0% 100%); + clip-path: polygon( + 0 calc(100% - var(--layout-line-width)), + 100% calc(100% - var(--layout-line-width)), + 100% 100%, + 0% 100% + ); transition: background-color var(--layout-transition-extra-fast); pointer-events: none; } @@ -149,7 +156,10 @@ button:disabled:active, } .button-ring { - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); } .button-ring:focus, diff --git a/src/component/button/index.js b/src/component/button/index.js index 9089de2f..9ff51ca3 100644 --- a/src/component/button/index.js +++ b/src/component/button/index.js @@ -16,9 +16,8 @@ export const Button = function ({ style = [], title = false, classList = [], - func = false + func = false, } = {}) { - this.button = node('button|class:button,tabindex:1,type:button'); if (text) { @@ -32,9 +31,7 @@ export const Button = function ({ } if (iconName) { - switch (iconPosition) { - case 'right': this.button.append(icon.render(iconName)); break; @@ -43,9 +40,7 @@ export const Button = function ({ case 'left': this.button.prepend(icon.render(iconName)); break; - } - } if (block) { @@ -81,9 +76,7 @@ export const Button = function ({ this.style = {}; this.style.add = (style) => { - if (style) { - if (style.length > 0) { style.forEach((item) => { switch (item) { @@ -101,27 +94,21 @@ export const Button = function ({ } }); } - } - }; this.style.remove = () => { - this.button.classList.remove('button-link'); this.button.classList.remove('button-line'); this.button.classList.remove('button-ring'); - }; this.style.update = (style) => { - this.style.remove(); this.style.add(style); - }; this.style.add(style); @@ -144,10 +131,7 @@ export const Button = function ({ this.wrap = () => { return form.wrap({ - children: [ - this.button - ] + children: [this.button], }); }; - }; diff --git a/src/component/clock/index.js b/src/component/clock/index.js index 343e6444..1b45ff39 100644 --- a/src/component/clock/index.js +++ b/src/component/clock/index.js @@ -12,17 +12,14 @@ import moment from 'moment'; import './index.css'; export const Clock = function () { - this.now; this.bind = {}; this.bind.tick = () => { - window.setInterval(() => { this.update(); }, 1000); - }; this.element = { @@ -30,69 +27,79 @@ export const Clock = function () { hour: node('span|class:clock-item clock-hour'), minute: node('span|class:clock-item clock-minute'), second: node('span|class:clock-item clock-second'), - meridiem: node('span|class:clock-item clock-meridiem') + meridiem: node('span|class:clock-item clock-meridiem'), }; this.string = {}; this.string.hour = () => { - let value; switch (state.get.current().header.clock.hour.display) { - case 'word': - value = this.now.hours(); - if (!state.get.current().header.clock.hour24.show && this.now.hours() > 12) { + if ( + !state.get.current().header.clock.hour24.show && + this.now.hours() > 12 + ) { value = value - 12; } - if (!state.get.current().header.clock.hour24.show && this.now.hours() == 0) { + if ( + !state.get.current().header.clock.hour24.show && + this.now.hours() == 0 + ) { value = 12; } value = wordNumber(value); - if (state.get.current().header.clock.hour24.show && this.now.hours() > 0 && this.now.hours() < 10) { + if ( + state.get.current().header.clock.hour24.show && + this.now.hours() > 0 && + this.now.hours() < 10 + ) { value = 'Zero ' + value; } break; case 'number': - value = this.now.hours(); - if (!state.get.current().header.clock.hour24.show && this.now.hours() > 12) { + if ( + !state.get.current().header.clock.hour24.show && + this.now.hours() > 12 + ) { value = value - 12; } - if (!state.get.current().header.clock.hour24.show && this.now.hours() == 0) { + if ( + !state.get.current().header.clock.hour24.show && + this.now.hours() == 0 + ) { value = 12; } - if (state.get.current().header.clock.hour24.show && this.now.hours() < 10) { + if ( + state.get.current().header.clock.hour24.show && + this.now.hours() < 10 + ) { value = '0' + value; } break; - } return value; - }; this.string.minute = () => { - let value; switch (state.get.current().header.clock.minute.display) { - case 'word': - value = wordNumber(this.now.minutes()); if (this.now.minutes() > 0 && this.now.minutes() < 10) { @@ -102,7 +109,6 @@ export const Clock = function () { break; case 'number': - value = this.now.minutes(); if (this.now.minutes() < 10) { @@ -110,21 +116,16 @@ export const Clock = function () { } break; - } return value; - }; this.string.second = () => { - let value; switch (state.get.current().header.clock.second.display) { - case 'word': - value = wordNumber(this.now.seconds()); if (this.now.seconds() > 0 && this.now.seconds() < 10) { @@ -134,7 +135,6 @@ export const Clock = function () { break; case 'number': - value = this.now.seconds(); if (this.now.seconds() < 10) { @@ -142,21 +142,16 @@ export const Clock = function () { } break; - } return value; - }; this.string.meridiem = () => { - return this.now.format('A'); - }; this.assemble = () => { - clearChildNode(this.element.clock); if (state.get.current().header.clock.hour.show) { @@ -171,16 +166,20 @@ export const Clock = function () { this.element.clock.appendChild(this.element.second); } - if (!state.get.current().header.clock.hour24.show && state.get.current().header.clock.meridiem.show) { + if ( + !state.get.current().header.clock.hour24.show && + state.get.current().header.clock.meridiem.show + ) { this.element.clock.appendChild(this.element.meridiem); } if (state.get.current().header.clock.separator.show) { - let separatorCharacter; if (isValidString(state.get.current().header.clock.separator.text)) { - separatorCharacter = trimString(state.get.current().header.clock.separator.text); + separatorCharacter = trimString( + state.get.current().header.clock.separator.text + ); } else { separatorCharacter = ':'; } @@ -188,33 +187,27 @@ export const Clock = function () { let parts = this.element.clock.querySelectorAll('span'); if (parts.length > 1) { - parts.forEach((item, i) => { - if (i > 0 && item != this.element.meridiem) { - let separator = complexNode({ tag: 'span', text: separatorCharacter, - attr: [{ - key: 'class', - value: 'clock-item clock-separator' - }] + attr: [ + { + key: 'class', + value: 'clock-item clock-separator', + }, + ], }); this.element.clock.insertBefore(separator, item); - } }); - } - } - }; this.update = () => { - this.assemble(); this.now = moment(); @@ -231,10 +224,12 @@ export const Clock = function () { this.element.second.innerHTML = this.string.second(); } - if (!state.get.current().header.clock.hour24.show && state.get.current().header.clock.meridiem.show) { + if ( + !state.get.current().header.clock.hour24.show && + state.get.current().header.clock.meridiem.show + ) { this.element.meridiem.innerHTML = this.string.meridiem(); } - }; this.assemble(); @@ -246,5 +241,4 @@ export const Clock = function () { this.clock = () => { return this.element.clock; }; - }; diff --git a/src/component/collapse/index.css b/src/component/collapse/index.css index 0b84fcea..f9305c71 100644 --- a/src/component/collapse/index.css +++ b/src/component/collapse/index.css @@ -26,7 +26,7 @@ transition: margin var(--layout-transition-fast); } -.collapse-spacer>* { +.collapse-spacer > * { pointer-events: all; } diff --git a/src/component/collapse/index.js b/src/component/collapse/index.js index db1261a3..edecfb81 100644 --- a/src/component/collapse/index.js +++ b/src/component/collapse/index.js @@ -1,4 +1,3 @@ - import { node } from '../../utility/node'; import './index.css'; @@ -7,12 +6,11 @@ export const Collapse = function ({ type = false, radioGroup = false, checkbox = false, - target = false + target = false, } = {}) { - target.forEach((item) => { item.state = { - collapsed: true + collapsed: true, }; item.area = node('div|class:collapse-area'); @@ -25,7 +23,7 @@ export const Collapse = function ({ }; this.element = { - collapse: node('div|class:collapse') + collapse: node('div|class:collapse'), }; this.collapse = () => { @@ -75,9 +73,7 @@ export const Collapse = function ({ }; this.update = () => { - switch (type) { - case 'radio': { const selectedRadioValue = radioGroup.value(); @@ -92,17 +88,13 @@ export const Collapse = function ({ let state = true; if (checkbox.length > 1) { - let allCheckboxState = []; - checkbox.forEach(item => allCheckboxState.push(item.checked())); - - state = allCheckboxState.some(item => item === true); + checkbox.forEach((item) => allCheckboxState.push(item.checked())); + state = allCheckboxState.some((item) => item === true); } else { - state = checkbox.checked(); - } target.forEach((item) => { @@ -113,23 +105,17 @@ export const Collapse = function ({ } case 'toggle': - target.forEach((item) => { - this.renderTarget(item.state.collapsed, item.area); if (item.toggle) { this.renderToggle(item.state.collapsed, item.toggle); } - }); break; - } - }; this.update(); - }; diff --git a/src/component/control/checkbox/index.js b/src/component/control/checkbox/index.js index 2f941b87..a84fb253 100644 --- a/src/component/control/checkbox/index.js +++ b/src/component/control/checkbox/index.js @@ -13,26 +13,25 @@ export const Control_checkbox = function ({ //FIXME deprecated properties inputButton = false, //eslint-disable-line inputHide = false, //eslint-disable-line - inputButtonStyle = false //eslint-disable-line + inputButtonStyle = false, //eslint-disable-line } = {}) { - this.checkbox = form.input.checkbox({ id: id, checked: get({ object: object, path: path }), func: () => { - set({ object: object, path: path, value: this.checkbox.checked }); - if (action) { action(); } - - } + if (action) { + action(); + } + }, }); this.label = form.label({ forInput: id, text: labelText, description: description, - icon: true + icon: true, }); this.update = () => { @@ -40,20 +39,13 @@ export const Control_checkbox = function ({ }; this.checked = () => { - return get({ object: object, path: path }); - }; this.wrap = () => { - return form.wrap({ - children: [ - this.checkbox, - this.label - ] + children: [this.checkbox, this.label], }); - }; this.disable = () => { @@ -63,5 +55,4 @@ export const Control_checkbox = function ({ this.enable = () => { this.checkbox.disabled = false; }; - }; diff --git a/src/component/control/color/index.js b/src/component/control/color/index.js index 43641f01..c71bcbac 100644 --- a/src/component/control/color/index.js +++ b/src/component/control/color/index.js @@ -16,71 +16,82 @@ export const Control_color = function ({ labelText = 'Name', srOnly = false, //FIXME deprecated property - value = '#000000', //eslint-disable-line + value = "#000000", //eslint-disable-line defaultValue = false, action = false, randomColor = false, - extraButtons = [] + extraButtons = [], } = {}) { - this.label = form.label({ forInput: id, text: labelText, - srOnly: srOnly + srOnly: srOnly, }); this.color = form.input.color({ id: id, - value: convertColor.rgb.hex(get({ - object: object, - path: path + '.rgb' - })), + value: convertColor.rgb.hex( + get({ + object: object, + path: path + '.rgb', + }) + ), classList: ['form-group-item-half'], func: () => { - if (path) { - - set({ object: object, path: path + '.rgb', value: convertColor.hex.rgb(this.color.value) }); + set({ + object: object, + path: path + '.rgb', + value: convertColor.hex.rgb(this.color.value), + }); set({ object: object, path: path + '.hsl', - value: convertColor.rgb.hsl(get({ - object: object, - path: path + '.rgb' - })) + value: convertColor.rgb.hsl( + get({ + object: object, + path: path + '.rgb', + }) + ), }); - } - if (action) { action(); } - - this.text.value = convertColor.rgb.hex(get({ object: object, path: path + '.rgb' })); + if (action) { + action(); + } - } + this.text.value = convertColor.rgb.hex( + get({ object: object, path: path + '.rgb' }) + ); + }, }); this.text = form.input.text({ - value: convertColor.rgb.hex(get({ - object: object, - path: path + '.rgb' - })), + value: convertColor.rgb.hex( + get({ + object: object, + path: path + '.rgb', + }) + ), max: 7, classList: ['form-group-item-half'], placeholder: message.get('controlColorTextPlaceholder'), func: () => { - if (path) { - - set({ object: object, path: path + '.rgb', value: convertColor.hex.rgb(this.text.value) }); - + set({ + object: object, + path: path + '.rgb', + value: convertColor.hex.rgb(this.text.value), + }); } - if (action) { action(); } + if (action) { + action(); + } this.update({ delay: true }); - - } + }, }); this.reset = new Button({ @@ -91,14 +102,18 @@ export const Control_color = function ({ title: message.get('controlGeneralReset'), srOnly: true, func: () => { - - set({ object: object, path: path + '.rgb', value: JSON.parse(JSON.stringify(defaultValue)) }); + set({ + object: object, + path: path + '.rgb', + value: JSON.parse(JSON.stringify(defaultValue)), + }); this.update({ all: true }); - if (action) { action(); } - - } + if (action) { + action(); + } + }, }); this.random = new Button({ @@ -109,46 +124,54 @@ export const Control_color = function ({ title: message.get('controlColorRandom'), srOnly: true, func: () => { - - set({ object: object, path: path + '.hsl', value: { h: randomNumber(0, 360), s: randomNumber(0, 100), l: randomNumber(0, 100) } }); + set({ + object: object, + path: path + '.hsl', + value: { + h: randomNumber(0, 360), + s: randomNumber(0, 100), + l: randomNumber(0, 100), + }, + }); set({ object: object, path: path + '.rgb', - value: convertColor.hsl.rgb(get({ - object: object, - path: path + '.hsl' - })) + value: convertColor.hsl.rgb( + get({ + object: object, + path: path + '.hsl', + }) + ), }); this.update({ all: true }); - if (action) { action(); } - - } + if (action) { + action(); + } + }, }); this.delayedUpdate = null; - this.update = ({ - delay = false, - all = false - } = {}) => { - + this.update = ({ delay = false, all = false } = {}) => { const updateControl = () => { - - this.color.value = convertColor.rgb.hex(get({ - object: object, - path: path + '.rgb' - })); + this.color.value = convertColor.rgb.hex( + get({ + object: object, + path: path + '.rgb', + }) + ); if (all) { - this.text.value = convertColor.rgb.hex(get({ - object: object, - path: path + '.rgb' - })); + this.text.value = convertColor.rgb.hex( + get({ + object: object, + path: path + '.rgb', + }) + ); } - }; if (delay) { @@ -157,24 +180,22 @@ export const Control_color = function ({ } else { updateControl(); } - }; this.wrap = () => { - const formGroup = form.group({ block: true, - children: [ - this.color, - this.text - ] + children: [this.color, this.text], }); if (randomColor) { formGroup.appendChild(this.random.button); } - if (defaultValue || (typeof defaultValue === 'number' && defaultValue === 0)) { + if ( + defaultValue || + (typeof defaultValue === 'number' && defaultValue === 0) + ) { formGroup.appendChild(this.reset.button); } @@ -185,14 +206,10 @@ export const Control_color = function ({ } const wrap = form.wrap({ - children: [ - this.label, - formGroup - ] + children: [this.label, formGroup], }); return wrap; - }; this.disable = () => { @@ -222,5 +239,4 @@ export const Control_color = function ({ }); } }; - }; diff --git a/src/component/control/colorMixer/index.js b/src/component/control/colorMixer/index.js index f2d254cc..e53bb352 100644 --- a/src/component/control/colorMixer/index.js +++ b/src/component/control/colorMixer/index.js @@ -22,9 +22,8 @@ export const Control_colorMixer = function ({ labelText = 'name', srOnly = false, randomColor = false, - action = false + action = false, } = {}) { - this.moreControlsToggle = new Button({ text: message.get('controlColorMixerMoreControls'), iconName: 'arrowKeyboardDown', @@ -35,7 +34,7 @@ export const Control_colorMixer = function ({ func: () => { this.moreControlsCollapse.toggle(); this.moreControlsUpdate(); - } + }, }); this.color = new Control_color({ @@ -52,7 +51,9 @@ export const Control_colorMixer = function ({ set({ object: object, path: path + '.hsl', - value: convertColor.rgb.hsl(get({ object: object, path: path + '.rgb' })) + value: convertColor.rgb.hsl( + get({ object: object, path: path + '.rgb' }) + ), }); this.colorSliderR.update(); this.colorSliderG.update(); @@ -63,7 +64,7 @@ export const Control_colorMixer = function ({ if (action) { action(); } - } + }, }); this.colorSliderH = new Control_sliderSlim({ @@ -78,7 +79,9 @@ export const Control_colorMixer = function ({ set({ object: object, path: path + '.rgb', - value: convertColor.hsl.rgb(get({ object: object, path: path + '.hsl' })) + value: convertColor.hsl.rgb( + get({ object: object, path: path + '.hsl' }) + ), }); this.color.update({ all: true }); this.colorSliderR.update(); @@ -89,7 +92,7 @@ export const Control_colorMixer = function ({ if (action) { action(); } - } + }, }); this.colorSliderS = new Control_sliderSlim({ @@ -104,7 +107,9 @@ export const Control_colorMixer = function ({ set({ object: object, path: path + '.rgb', - value: convertColor.hsl.rgb(get({ object: object, path: path + '.hsl' })) + value: convertColor.hsl.rgb( + get({ object: object, path: path + '.hsl' }) + ), }); this.color.update({ all: true }); this.colorSliderR.update(); @@ -115,7 +120,7 @@ export const Control_colorMixer = function ({ if (action) { action(); } - } + }, }); this.colorSliderL = new Control_sliderSlim({ @@ -130,7 +135,9 @@ export const Control_colorMixer = function ({ set({ object: object, path: path + '.rgb', - value: convertColor.hsl.rgb(get({ object: object, path: path + '.hsl' })) + value: convertColor.hsl.rgb( + get({ object: object, path: path + '.hsl' }) + ), }); this.color.update({ all: true }); this.colorSliderR.update(); @@ -141,7 +148,7 @@ export const Control_colorMixer = function ({ if (action) { action(); } - } + }, }); this.colorSliderR = new Control_sliderSlim({ @@ -156,7 +163,9 @@ export const Control_colorMixer = function ({ set({ object: object, path: path + '.hsl', - value: convertColor.rgb.hsl(get({ object: object, path: path + '.rgb' })) + value: convertColor.rgb.hsl( + get({ object: object, path: path + '.rgb' }) + ), }); this.color.update({ all: true }); this.colorSliderG.update(); @@ -167,7 +176,7 @@ export const Control_colorMixer = function ({ if (action) { action(); } - } + }, }); this.colorSliderG = new Control_sliderSlim({ @@ -182,7 +191,9 @@ export const Control_colorMixer = function ({ set({ object: object, path: path + '.hsl', - value: convertColor.rgb.hsl(get({ object: object, path: path + '.rgb' })) + value: convertColor.rgb.hsl( + get({ object: object, path: path + '.rgb' }) + ), }); this.color.update({ all: true }); this.colorSliderR.update(); @@ -193,7 +204,7 @@ export const Control_colorMixer = function ({ if (action) { action(); } - } + }, }); this.colorSliderB = new Control_sliderSlim({ @@ -208,7 +219,9 @@ export const Control_colorMixer = function ({ set({ object: object, path: path + '.hsl', - value: convertColor.rgb.hsl(get({ object: object, path: path + '.rgb' })) + value: convertColor.rgb.hsl( + get({ object: object, path: path + '.rgb' }) + ), }); this.color.update({ all: true }); this.colorSliderR.update(); @@ -219,7 +232,7 @@ export const Control_colorMixer = function ({ if (action) { action(); } - } + }, }); this.moreControls = node('div', [ @@ -228,15 +241,17 @@ export const Control_colorMixer = function ({ this.colorSliderL.wrap(), this.colorSliderR.wrap(), this.colorSliderG.wrap(), - this.colorSliderB.wrap() + this.colorSliderB.wrap(), ]); this.moreControlsCollapse = new Collapse({ type: 'toggle', - target: [{ - toggle: this.moreControlsToggle.button, - content: this.moreControls - }] + target: [ + { + toggle: this.moreControlsToggle.button, + content: this.moreControls, + }, + ], }); this.wrap = () => { @@ -246,13 +261,11 @@ export const Control_colorMixer = function ({ form.wrap({ children: [ form.indent({ - children: [ - this.moreControlsCollapse.collapse() - ] - }) - ] - }) - ] + children: [this.moreControlsCollapse.collapse()], + }), + ], + }), + ], }); }; @@ -287,7 +300,6 @@ export const Control_colorMixer = function ({ }; this.moreControlsUpdate = () => { - if (this.moreControlsCollapse.target()[0].state.collapsed) { this.colorSliderH.disable(); this.colorSliderS.disable(); @@ -303,7 +315,6 @@ export const Control_colorMixer = function ({ this.colorSliderG.enable(); this.colorSliderB.enable(); } - }; this.update = () => { @@ -317,5 +328,4 @@ export const Control_colorMixer = function ({ }; this.moreControlsUpdate(); - }; diff --git a/src/component/control/groupText/index.js b/src/component/control/groupText/index.js index b70638ea..3d525fb0 100644 --- a/src/component/control/groupText/index.js +++ b/src/component/control/groupText/index.js @@ -5,16 +5,14 @@ import { clearChildNode } from '../../../utility/clearChildNode'; export const Control_groupText = function ({ text = false, - classList = [] + classList = [], } = {}) { - this.groupText = form.groupText({ text: text, - classList: classList + classList: classList, }); this.update = (content) => { - clearChildNode(this.groupText); if (typeof content === 'string' && isValidString(content)) { @@ -26,9 +24,7 @@ export const Control_groupText = function ({ this.wrap = () => { return form.wrap({ - children: [ - this.groupText - ] + children: [this.groupText], }); }; @@ -39,5 +35,4 @@ export const Control_groupText = function ({ this.enable = () => { this.groupText.classList.remove('disabled'); }; - }; diff --git a/src/component/control/helperText/index.js b/src/component/control/helperText/index.js index d2edb870..e96fbd0c 100644 --- a/src/component/control/helperText/index.js +++ b/src/component/control/helperText/index.js @@ -2,17 +2,18 @@ import * as form from '../../form'; export const Control_helperText = function ({ text = [], - complexText = false + complexText = false, } = {}) { - this.para = []; text.forEach((item) => { - this.para.push(form.helper({ - tag: 'p', - text: item, - complexText: complexText - })); + this.para.push( + form.helper({ + tag: 'p', + text: item, + complexText: complexText, + }) + ); }); this.wrap = () => { @@ -36,5 +37,4 @@ export const Control_helperText = function ({ item.classList.remove('disabled'); }); }; - }; diff --git a/src/component/control/index.js b/src/component/control/index.js index f30d9d88..d9bf89b5 100644 --- a/src/component/control/index.js +++ b/src/component/control/index.js @@ -25,5 +25,5 @@ export { Control_sliderSlim, Control_sliderDouble, Control_text, - Control_select + Control_select, }; diff --git a/src/component/control/inputButton/index.js b/src/component/control/inputButton/index.js index f5773089..0e4b8ef1 100644 --- a/src/component/control/inputButton/index.js +++ b/src/component/control/inputButton/index.js @@ -15,9 +15,8 @@ export const Control_inputButton = function ({ labelText = 'Name', srOnly = false, inputButtonStyle = [], - action = false + action = false, } = {}) { - this.input; switch (type) { @@ -28,7 +27,7 @@ export const Control_inputButton = function ({ if (action) { action(); } - } + }, }); break; @@ -36,57 +35,57 @@ export const Control_inputButton = function ({ case 'color': this.input = form.input.color({ id: id, - value: convertColor.rgb.hex(get({ - object: object, - path: path + '.rgb' - })), + value: convertColor.rgb.hex( + get({ + object: object, + path: path + '.rgb', + }) + ), classList: classList, func: () => { if (path) { set({ object: object, path: path + '.rgb', - value: convertColor.hex.rgb(this.input.value) + value: convertColor.hex.rgb(this.input.value), }); set({ object: object, path: path + '.hsl', - value: convertColor.rgb.hsl(get({ - object: object, - path: path + '.rgb' - })) + value: convertColor.rgb.hsl( + get({ + object: object, + path: path + '.rgb', + }) + ), }); } if (action) { action(); } - } + }, }); break; - } this.label = form.label({ text: labelText, - forInput: id + forInput: id, }); this.button = form.input.inputButton({ style: inputButtonStyle, inputHide: inputHide, - srOnly: srOnly + srOnly: srOnly, }); this.inputButtonStyle = {}; this.inputButtonStyle.add = (inputButtonStyle) => { - if (inputButtonStyle) { if (inputButtonStyle.length > 0) { - inputButtonStyle.forEach((item) => { - switch (item) { case 'link': this.button.classList.add('form-input-button-link'); @@ -104,16 +103,12 @@ export const Control_inputButton = function ({ this.button.classList.add('input-color-dot'); break; } - }); - } } - }; this.inputButtonStyle.remove = () => { - this.button.classList.remove('form-input-button-link'); this.button.classList.remove('form-input-button-line'); @@ -121,25 +116,20 @@ export const Control_inputButton = function ({ this.button.classList.remove('form-input-button-ring'); this.button.classList.remove('input-color-dot'); - }; this.inputButtonStyle.update = (inputButtonStyle) => { - this.inputButtonStyle.remove(); this.inputButtonStyle.add(inputButtonStyle); - }; this.inputButtonStyle.add(inputButtonStyle); if (inputButtonClassList.length > 0) { - inputButtonClassList.forEach((item) => { this.button.classList.add(item); }); - } this.button.appendChild(this.input); @@ -149,10 +139,12 @@ export const Control_inputButton = function ({ this.update = () => { switch (type) { case 'color': - this.input.value = convertColor.rgb.hex(get({ - object: object, - path: path + '.rgb' - })); + this.input.value = convertColor.rgb.hex( + get({ + object: object, + path: path + '.rgb', + }) + ); break; } @@ -160,9 +152,7 @@ export const Control_inputButton = function ({ this.wrap = () => { return form.wrap({ - children: [ - this.button - ] + children: [this.button], }); }; @@ -175,5 +165,4 @@ export const Control_inputButton = function ({ this.label.classList.remove('disabled'); this.input.disabled = false; }; - }; diff --git a/src/component/control/label/index.js b/src/component/control/label/index.js index 4bc8fa0b..44d72357 100644 --- a/src/component/control/label/index.js +++ b/src/component/control/label/index.js @@ -1,21 +1,20 @@ import * as form from '../../form'; -export const Control_label = function({ +export const Control_label = function ({ text = 'label', description = false, srOnly = false, icon = false, noPadding = false, - classList = [] + classList = [], } = {}) { - this.label = form.label({ text: text, description: description, srOnly: srOnly, icon: icon, noPadding: noPadding, - classList: classList + classList: classList, }); this.disable = () => { @@ -28,10 +27,9 @@ export const Control_label = function({ this.wrap = () => { const formWrap = form.wrap({ - children: this.label + children: this.label, }); return formWrap; }; - }; diff --git a/src/component/control/radio/index.js b/src/component/control/radio/index.js index 914cf827..e215c5c5 100644 --- a/src/component/control/radio/index.js +++ b/src/component/control/radio/index.js @@ -12,9 +12,8 @@ export const Control_radio = function ({ action = false, inputButton = false, inputHide = false, - inputButtonStyle = false + inputButtonStyle = false, } = {}) { - this.radioSet = []; const radioGroupName = groupName; @@ -26,7 +25,7 @@ export const Control_radio = function ({ if (label) { this.label = form.label({ text: label, - noPadding: true + noPadding: true, }); } @@ -37,27 +36,24 @@ export const Control_radio = function ({ id: item.id, radioGroup: radioGroupName, value: item.value, - checked: (get({ object: object, path: radioGroupPath }) === item.value), + checked: get({ object: object, path: radioGroupPath }) === item.value, func: () => { - set({ object: object, path: radioGroupPath, value: item.value }); - if (action) { action(); } - - } + if (action) { + action(); + } + }, }), label: form.label({ forInput: item.id, text: item.labelText, description: item.description, - icon: true + icon: true, }), wrap: () => { return form.wrap({ - children: [ - radioAndLabel.radio, - radioAndLabel.label - ] + children: [radioAndLabel.radio, radioAndLabel.label], }); }, inputButton: () => { @@ -65,16 +61,14 @@ export const Control_radio = function ({ inputButton: inputButton, inputHide: inputHide, style: inputButtonStyle, - children: [ - radioAndLabel.radio, - radioAndLabel.label - ] + children: [radioAndLabel.radio, radioAndLabel.label], }); - } + }, }; radioAndLabel.radio.update = () => { - radioAndLabel.radio.checked = (get({ object: object, path: radioGroupPath }) === item.value); + radioAndLabel.radio.checked = + get({ object: object, path: radioGroupPath }) === item.value; }; radioAndLabel.radio.disable = () => { @@ -90,7 +84,6 @@ export const Control_radio = function ({ } this.value = () => { - let currentSelectedRadio = false; this.radioSet.forEach((item) => { @@ -100,19 +93,15 @@ export const Control_radio = function ({ }); return currentSelectedRadio; - }; this.update = () => { - this.radioSet.forEach((item) => { item.radio.update(); }); - }; this.wrap = () => { - const wrap = form.wrap(); if (this.label) { @@ -120,47 +109,36 @@ export const Control_radio = function ({ } this.radioSet.forEach((item) => { - wrap.appendChild( - item.wrap() - ); + wrap.appendChild(item.wrap()); }); return wrap; - }; this.inputButton = () => { - const wrap = form.wrap(); const group = form.group(); this.radioSet.forEach((item) => { - group.appendChild( - item.inputButton() - ); + group.appendChild(item.inputButton()); }); wrap.appendChild(group); return wrap; - }; this.inline = () => { - const inline = form.inline({ gap: 'large', - wrap: true + wrap: true, }); this.radioSet.forEach((item) => { inline.appendChild( form.wrap({ - children: [ - item.radio, - item.label - ] + children: [item.radio, item.label], }) ); }); @@ -174,7 +152,6 @@ export const Control_radio = function ({ wrap.appendChild(form.wrap({ children: [inline] })); return wrap; - }; this.disable = () => { @@ -196,5 +173,4 @@ export const Control_radio = function ({ this.label.classList.remove('disabled'); } }; - }; diff --git a/src/component/control/radioGrid/index.js b/src/component/control/radioGrid/index.js index 082cef0d..932b9463 100644 --- a/src/component/control/radioGrid/index.js +++ b/src/component/control/radioGrid/index.js @@ -10,9 +10,8 @@ export const Control_radioGrid = function ({ groupName = 'group', path = false, gridSize = '3x3', - action = false + action = false, } = {}) { - this.radioSet = []; const radioGroupName = groupName; @@ -25,7 +24,7 @@ export const Control_radioGrid = function ({ if (label) { this.label = form.label({ - text: label + text: label, }); } @@ -39,14 +38,14 @@ export const Control_radioGrid = function ({ id: item.id, radioGroup: radioGroupName, value: item.value, - checked: (get({ object: object, path: radioGroupPath, }) === item.value), + checked: get({ object: object, path: radioGroupPath }) === item.value, func: () => { - set({ object: object, path: radioGroupPath, value: item.value }); - if (action) { action(); } - - } + if (action) { + action(); + } + }, }); radioAndLabel.label = form.label({ @@ -54,22 +53,18 @@ export const Control_radioGrid = function ({ text: item.labelText, description: item.description, srOnly: true, - icon: true + icon: true, }); radioAndLabel.wrap = () => { return form.wrap({ - children: [ - radioAndLabel.radio, - radioAndLabel.label - ] + children: [radioAndLabel.radio, radioAndLabel.label], }); }; radioAndLabel.radio.update = () => { - - radioAndLabel.radio.checked = (get({ object: object, path: radioGroupPath }) === item.value); - + radioAndLabel.radio.checked = + get({ object: object, path: radioGroupPath }) === item.value; }; radioAndLabel.radio.disable = () => { @@ -125,10 +120,7 @@ export const Control_radioGrid = function ({ this.radioSet.forEach((item) => { const wrap = form.wrap({ - children: [ - item.radio, - item.label - ] + children: [item.radio, item.label], }); wrap.style.setProperty('--form-grid-cell', 'cell-' + item.position); @@ -168,5 +160,4 @@ export const Control_radioGrid = function ({ this.label.classList.remove('disabled'); } }; - }; diff --git a/src/component/control/select/index.js b/src/component/control/select/index.js index 1fd87468..63efab57 100644 --- a/src/component/control/select/index.js +++ b/src/component/control/select/index.js @@ -6,7 +6,7 @@ import { set } from '../../../utility/set'; import { trimString } from '../../../utility/trimString'; import { clearChildNode } from '../../../utility/clearChildNode'; -export const Control_select = function({ +export const Control_select = function ({ option = [], selected = 0, object = {}, @@ -15,28 +15,27 @@ export const Control_select = function({ labelText = 'name', srOnly = false, description = false, - action = false + action = false, } = {}) { - this.select = form.input.select({ id: id, option: option, selected: selected, func: () => { - if (object) { set({ object: object, path: path, value: this.select.selectedIndex }); } - if (action) { action(); } - - } + if (action) { + action(); + } + }, }); this.label = form.label({ forInput: id, text: labelText, - description: description + description: description, }); if (srOnly) { @@ -46,37 +45,33 @@ export const Control_select = function({ this.update = () => { this.select.selectedIndex = get({ object: object, - path: path + path: path, }); }; this.updateOption = (option, selectedIndex) => { - if (option.length > 0) { - clearChildNode(this.select); option.forEach((item) => { - this.select.appendChild( complexNode({ tag: 'option', text: item, - attr: [{ - key: 'value', - value: trimString(item).replace(/\s+/g, '-').toLowerCase() - }] + attr: [ + { + key: 'value', + value: trimString(item).replace(/\s+/g, '-').toLowerCase(), + }, + ], }) ); - }); if (selectedIndex || selectedIndex === 0) { this.select.selectedIndex = selectedIndex; } - } - }; this.selected = () => { @@ -85,10 +80,7 @@ export const Control_select = function({ this.wrap = () => { return form.wrap({ - children: [ - this.label, - this.select - ] + children: [this.label, this.select], }); }; @@ -101,5 +93,4 @@ export const Control_select = function({ this.label.classList.remove('disabled'); this.select.disabled = false; }; - }; diff --git a/src/component/control/slider/index.js b/src/component/control/slider/index.js index 6519b549..85d69e4e 100644 --- a/src/component/control/slider/index.js +++ b/src/component/control/slider/index.js @@ -8,7 +8,7 @@ import { get } from '../../../utility/get'; import { set } from '../../../utility/set'; import { minMax } from '../../../utility/minMax'; -export const Control_slider = function({ +export const Control_slider = function ({ object = {}, path = false, id = 'name', @@ -26,20 +26,17 @@ export const Control_slider = function({ numberAction = false, resetAction = false, mouseDownAction = false, - mouseUpAction = false + mouseUpAction = false, } = {}) { - this.label = form.label({ forInput: id, - text: labelText + text: labelText, }); const classList = []; if (style) { - switch (style) { - case 'hue': classList.push('input-range-hue-spectrum'); break; @@ -51,9 +48,7 @@ export const Control_slider = function({ case 'contrast': classList.push('input-range-contrast-spectrum'); break; - } - } this.range = form.input.range({ @@ -64,24 +59,24 @@ export const Control_slider = function({ step: step, classList: classList, func: () => { - if (path) { - set({ object: object, path: path, value: this.value() }); - } - if (sliderAction) { sliderAction(); } + if (sliderAction) { + sliderAction(); + } - if (action) { action(); } + if (action) { + action(); + } this.updateNumber(); - }, focusFunc: focusAction, blurFunc: blurAction, mouseDownFunc: mouseDownAction, - mouseUpFunc: mouseUpAction + mouseUpFunc: mouseUpAction, }); this.number = form.input.number({ @@ -90,30 +85,30 @@ export const Control_slider = function({ max: max, classList: ['form-group-item-small'], func: () => { - if (path) { - set({ object: object, path: path, value: minMax({ value: parseInt(this.number.value, 10), min: min, - max: max - }) + max: max, + }), }); - } - if (numberAction) { numberAction(); } + if (numberAction) { + numberAction(); + } - if (action) { this.action({ delay: true }); } + if (action) { + this.action({ delay: true }); + } this.updateRange(); this.updateNumber({ delay: true }); - - } + }, }); this.reset = new Button({ @@ -124,28 +119,27 @@ export const Control_slider = function({ title: message.get('controlGeneralReset'), srOnly: true, func: () => { - set({ object: object, path: path, - value: JSON.parse(JSON.stringify(defaultValue)) + value: JSON.parse(JSON.stringify(defaultValue)), }); - if (action) { action(); } + if (action) { + action(); + } - if (resetAction) { resetAction(); } + if (resetAction) { + resetAction(); + } this.update(); - - } + }, }); this.delayedAction = null; - this.action = ({ - delay = false - } = {}) => { - + this.action = ({ delay = false } = {}) => { const delayedAction = () => { action(); }; @@ -157,17 +151,13 @@ export const Control_slider = function({ this.delayedAction = null; delayedAction(); } - }; this.delayedUpdateRange = null; this.delayedUpdateNumber = null; - this.updateRange = ({ - delay = false - } = {}) => { - + this.updateRange = ({ delay = false } = {}) => { const updateControl = () => { this.range.value = get({ object: object, path: path }); }; @@ -179,13 +169,9 @@ export const Control_slider = function({ this.delayedUpdateRange = null; updateControl(); } - }; - this.updateNumber = ({ - delay = false - } = {}) => { - + this.updateNumber = ({ delay = false } = {}) => { const updateControl = () => { this.number.value = get({ object: object, path: path }); }; @@ -197,17 +183,12 @@ export const Control_slider = function({ this.delayedUpdateNumber = null; updateControl(); } - }; - this.update = ({ - delay = false - } = {}) => { - + this.update = ({ delay = false } = {}) => { this.updateRange({ delay: delay }); this.updateNumber({ delay: delay }); - }; this.value = () => { @@ -216,29 +197,24 @@ export const Control_slider = function({ this.wrap = () => { const formGroup = form.group({ - children: [ - this.number - ] + children: [this.number], }); - if (defaultValue || (typeof defaultValue === 'number' && defaultValue === 0)) { + if ( + defaultValue || + (typeof defaultValue === 'number' && defaultValue === 0) + ) { formGroup.appendChild(this.reset.button); } const formInline = form.inline({ block: true, gap: 'small', - children: [ - this.range, - formGroup - ] + children: [this.range, formGroup], }); const wrap = form.wrap({ - children: [ - this.label, - formInline - ] + children: [this.label, formInline], }); return wrap; @@ -257,5 +233,4 @@ export const Control_slider = function({ this.number.disabled = false; this.reset.enable(); }; - }; diff --git a/src/component/control/sliderDouble/index.js b/src/component/control/sliderDouble/index.js index e8084636..2c0c46ea 100644 --- a/src/component/control/sliderDouble/index.js +++ b/src/component/control/sliderDouble/index.js @@ -29,7 +29,7 @@ export const Control_sliderDouble = function ({ numberAction: false, resetAction: false, mouseDownAction: false, - mouseUpAction: false + mouseUpAction: false, }, right = { path: false, @@ -48,31 +48,33 @@ export const Control_sliderDouble = function ({ numberAction: false, resetAction: false, mouseDownAction: false, - mouseUpAction: false - } + mouseUpAction: false, + }, } = {}) { - this.element = { - sliderDouble: node('div|class:slider-double') + sliderDouble: node('div|class:slider-double'), }; this.label = form.label({ forInput: left.id, - text: labelText + text: labelText, }); this.rightClip = () => { + let rightClipPostion = + (this.range.right.value() - this.range.left.value()) / 2 + + this.range.left.value(); - let rightClipPostion = ((this.range.right.value() - this.range.left.value()) / 2) + this.range.left.value(); - - if (this.range.right.value() < (right.max / 2)) { + if (this.range.right.value() < right.max / 2) { rightClipPostion = rightClipPostion + 1; } else { rightClipPostion = rightClipPostion - 1; } - this.element.sliderDouble.style.setProperty('--slider-double-right-clip', rightClipPostion); - + this.element.sliderDouble.style.setProperty( + '--slider-double-right-clip', + rightClipPostion + ); }; this.range = { @@ -89,13 +91,27 @@ export const Control_sliderDouble = function ({ step: left.step, style: style, action: () => { - - if (get({ object: state.get.current(), path: left.path }) > get({ object: state.get.minMax(), path: left.path }).max - 10) { - set({ object: state.get.current(), path: left.path, value: get({ object: state.get.minMax(), path: left.path }).max - 10 }); + if ( + get({ object: state.get.current(), path: left.path }) > + get({ object: state.get.minMax(), path: left.path }).max - 10 + ) { + set({ + object: state.get.current(), + path: left.path, + value: + get({ object: state.get.minMax(), path: left.path }).max - 10, + }); } - if (get({ object: state.get.current(), path: left.path }) >= get({ object: state.get.current(), path: right.path }) - 10) { - set({ object: state.get.current(), path: right.path, value: get({ object: state.get.current(), path: left.path }) + 10 }); + if ( + get({ object: state.get.current(), path: left.path }) >= + get({ object: state.get.current(), path: right.path }) - 10 + ) { + set({ + object: state.get.current(), + path: right.path, + value: get({ object: state.get.current(), path: left.path }) + 10, + }); } this.range.left.updateRange(); @@ -107,7 +123,6 @@ export const Control_sliderDouble = function ({ if (left.action) { left.action(); } - }, focusAction: left.focusAction, blurAction: left.blurAction, @@ -115,7 +130,7 @@ export const Control_sliderDouble = function ({ numberAction: left.numberAction, resetAction: left.resetAction, mouseDownAction: left.mouseDownAction, - mouseUpAction: left.mouseUpAction + mouseUpAction: left.mouseUpAction, }), right: new Control_slider({ object: object, @@ -130,13 +145,27 @@ export const Control_sliderDouble = function ({ step: right.step, style: style, action: () => { - - if (get({ object: state.get.current(), path: right.path }) < get({ object: state.get.minMax(), path: right.path }).min + 10) { - set({ object: state.get.current(), path: right.path, value: get({ object: state.get.minMax(), path: right.path }).min + 10 }); + if ( + get({ object: state.get.current(), path: right.path }) < + get({ object: state.get.minMax(), path: right.path }).min + 10 + ) { + set({ + object: state.get.current(), + path: right.path, + value: + get({ object: state.get.minMax(), path: right.path }).min + 10, + }); } - if (get({ object: state.get.current(), path: right.path }) <= get({ object: state.get.current(), path: left.path }) + 10) { - set({ object: state.get.current(), path: left.path, value: get({ object: state.get.current(), path: right.path }) - 10 }); + if ( + get({ object: state.get.current(), path: right.path }) <= + get({ object: state.get.current(), path: left.path }) + 10 + ) { + set({ + object: state.get.current(), + path: left.path, + value: get({ object: state.get.current(), path: right.path }) - 10, + }); } this.range.left.update(); @@ -148,7 +177,6 @@ export const Control_sliderDouble = function ({ if (right.action) { right.action(); } - }, focusAction: right.focusAction, blurAction: right.blurAction, @@ -156,77 +184,66 @@ export const Control_sliderDouble = function ({ numberAction: right.numberAction, resetAction: right.resetAction, mouseDownAction: right.mouseDownAction, - mouseUpAction: right.mouseUpAction - }) + mouseUpAction: right.mouseUpAction, + }), }; this.wrap = () => { - const leftNumberReset = form.group({ - children: [ - this.range.left.number - ] + children: [this.range.left.number], }); - if (left.defaultValue || (typeof left.defaultValue === 'number' && left.defaultValue === 0)) { + if ( + left.defaultValue || + (typeof left.defaultValue === 'number' && left.defaultValue === 0) + ) { leftNumberReset.prepend(this.range.left.reset.button); } const rightNumberReset = form.group({ - children: [ - this.range.right.number - ] + children: [this.range.right.number], }); - if (right.defaultValue || (typeof right.defaultValue === 'number' && right.defaultValue === 0)) { + if ( + right.defaultValue || + (typeof right.defaultValue === 'number' && right.defaultValue === 0) + ) { rightNumberReset.appendChild(this.range.right.reset.button); } const wrap = form.wrap({ children: [ form.wrap({ - children: [ - this.label, - this.element.sliderDouble, - ] + children: [this.label, this.element.sliderDouble], }), form.wrap({ children: [ form.group({ block: true, justify: 'space-between', - children: [ - leftNumberReset, - rightNumberReset - ] - }) - ] - }) - ] + children: [leftNumberReset, rightNumberReset], + }), + ], + }), + ], }); this.assemble = () => { - this.element.sliderDouble.appendChild(this.range.left.range); this.element.sliderDouble.appendChild(this.range.right.range); this.rightClip(); - }; this.assemble(); return wrap; - }; this.delayedUpdate = null; - this.update = ({ - delay = false - } = {}) => { - + this.update = ({ delay = false } = {}) => { const updateControl = () => { this.range.left.update(); this.range.right.update(); @@ -240,7 +257,6 @@ export const Control_sliderDouble = function ({ } this.rightClip(); - }; this.disable = () => { @@ -252,5 +268,4 @@ export const Control_sliderDouble = function ({ this.range.left.enable(); this.range.right.enable(); }; - }; diff --git a/src/component/control/sliderSlim/index.js b/src/component/control/sliderSlim/index.js index 048965ec..f32e4c9e 100644 --- a/src/component/control/sliderSlim/index.js +++ b/src/component/control/sliderSlim/index.js @@ -8,7 +8,7 @@ import { get } from '../../../utility/get'; import { set } from '../../../utility/set'; import { minMax } from '../../../utility/minMax'; -export const Control_sliderSlim = function({ +export const Control_sliderSlim = function ({ object = {}, path = false, id = 'name', @@ -26,14 +26,19 @@ export const Control_sliderSlim = function({ numberAction = false, resetAction = false, mouseDownAction = false, - mouseUpAction = false + mouseUpAction = false, } = {}) { - this.label = form.label({ forInput: id, text: labelText, noPadding: true, - classList: ['form-group-text', 'form-group-text-left', 'form-group-text-transparent', 'form-group-text-borderless', 'form-group-item-medium'] + classList: [ + 'form-group-text', + 'form-group-text-left', + 'form-group-text-transparent', + 'form-group-text-borderless', + 'form-group-item-medium', + ], }); const classList = ['form-group-item-grow']; @@ -50,24 +55,24 @@ export const Control_sliderSlim = function({ step: step, classList: classList, func: () => { - if (path) { - set({ object: object, path: path, value: this.value() }); - } - if (action) { action(); } + if (action) { + action(); + } - if (sliderAction) { sliderAction(); } + if (sliderAction) { + sliderAction(); + } this.number.value = get({ object: object, path: path }); - }, focusFunc: focusAction, blurFunc: blurAction, mouseDownFunc: mouseDownAction, - mouseUpFunc: mouseUpAction + mouseUpFunc: mouseUpAction, }); this.number = form.input.number({ @@ -76,28 +81,28 @@ export const Control_sliderSlim = function({ max: max, classList: ['form-group-item-small'], func: () => { - if (path) { - set({ object: object, path: path, value: minMax({ value: parseInt(this.number.value, 10), min: min, - max: max - }) + max: max, + }), }); - } - if (action) { action(); } + if (action) { + action(); + } - if (numberAction) { numberAction(); } + if (numberAction) { + numberAction(); + } this.update({ delay: true }); - - } + }, }); this.reset = new Button({ @@ -108,28 +113,27 @@ export const Control_sliderSlim = function({ title: message.get('controlGeneralReset'), srOnly: true, func: () => { - set({ object: object, path: path, - value: JSON.parse(JSON.stringify(defaultValue)) + value: JSON.parse(JSON.stringify(defaultValue)), }); this.update(); - if (action) { action(); } - - if (resetAction) { resetAction(); } + if (action) { + action(); + } - } + if (resetAction) { + resetAction(); + } + }, }); this.delayedUpdate = null; - this.update = ({ - delay = false - } = {}) => { - + this.update = ({ delay = false } = {}) => { const updateControl = () => { this.range.value = get({ object: object, path: path }); this.number.value = get({ object: object, path: path }); @@ -141,7 +145,6 @@ export const Control_sliderSlim = function({ } else { updateControl(); } - }; this.value = () => { @@ -150,29 +153,24 @@ export const Control_sliderSlim = function({ this.wrap = () => { const formGroup = form.group({ - children: [ - this.number - ] + children: [this.number], }); - if (defaultValue || (typeof defaultValue === 'number' && defaultValue === 0)) { + if ( + defaultValue || + (typeof defaultValue === 'number' && defaultValue === 0) + ) { formGroup.appendChild(this.reset.button); } const formInline = form.inline({ block: true, gap: 'small', - children: [ - this.label, - this.range, - formGroup - ] + children: [this.label, this.range, formGroup], }); const wrap = form.wrap({ - children: [ - formInline - ] + children: [formInline], }); return wrap; @@ -191,5 +189,4 @@ export const Control_sliderSlim = function({ this.number.disabled = false; this.reset.enable(); }; - }; diff --git a/src/component/control/text/index.js b/src/component/control/text/index.js index 0a68c651..f224caf8 100644 --- a/src/component/control/text/index.js +++ b/src/component/control/text/index.js @@ -14,12 +14,11 @@ export const Control_text = function ({ classList = [], labelText = 'Name', srOnly = false, - action = false + action = false, } = {}) { - this.label = form.label({ forInput: id, - text: labelText + text: labelText, }); if (srOnly) { @@ -30,14 +29,14 @@ export const Control_text = function ({ id: id, classList: classList, func: () => { - if (path) { set({ object: object, path: path, value: this.text.value }); } - if (action) { action(); } - - } + if (action) { + action(); + } + }, }); if (value) { @@ -57,17 +56,12 @@ export const Control_text = function ({ } this.update = () => { - this.text.value = get({ object: object, path: path }); - }; this.wrap = () => { return form.wrap({ - children: [ - this.label, - this.text - ] + children: [this.label, this.text], }); }; @@ -80,5 +74,4 @@ export const Control_text = function ({ this.label.classList.remove('disabled'); this.text.disabled = false; }; - }; diff --git a/src/component/control/textReset/index.js b/src/component/control/textReset/index.js index f06c7ec5..bd9f7306 100644 --- a/src/component/control/textReset/index.js +++ b/src/component/control/textReset/index.js @@ -7,7 +7,7 @@ import { Button } from '../../button'; import { get } from '../../../utility/get'; import { set } from '../../../utility/set'; -export const Control_textReset = function({ +export const Control_textReset = function ({ object = {}, path = false, id = 'name', @@ -19,12 +19,11 @@ export const Control_textReset = function({ classList = [], labelText = 'Name', srOnly = false, - action = false + action = false, } = {}) { - this.label = form.label({ forInput: id, - text: labelText + text: labelText, }); if (srOnly) { @@ -39,13 +38,13 @@ export const Control_textReset = function({ set({ object: object, path: path, - value: this.text.value + value: this.text.value, }); } if (action) { action(); } - } + }, }); if (value) { @@ -75,13 +74,13 @@ export const Control_textReset = function({ set({ object: object, path: path, - value: JSON.parse(JSON.stringify(defaultValue)) + value: JSON.parse(JSON.stringify(defaultValue)), }); this.update(); if (action) { action(); } - } + }, }); this.update = () => { @@ -98,12 +97,9 @@ export const Control_textReset = function({ form.group({ direction: 'horizontal', block: true, - children: [ - this.text, - this.reset.button - ] - }) - ] + children: [this.text, this.reset.button], + }), + ], }); }; @@ -118,5 +114,4 @@ export const Control_textReset = function({ this.text.disabled = false; this.reset.enable(); }; - }; diff --git a/src/component/control/textarea/index.js b/src/component/control/textarea/index.js index 3ce69276..a9f84550 100644 --- a/src/component/control/textarea/index.js +++ b/src/component/control/textarea/index.js @@ -14,12 +14,11 @@ export const Control_textarea = function ({ classList = [], labelText = 'Name', srOnly = false, - action = false + action = false, } = {}) { - this.label = form.label({ forInput: id, - text: labelText + text: labelText, }); if (srOnly) { @@ -30,14 +29,14 @@ export const Control_textarea = function ({ id: id, classList: classList, func: () => { - if (path) { set({ object: object, path: path, value: this.textarea.value }); } - if (action) { action(); } - - } + if (action) { + action(); + } + }, }); if (value) { @@ -57,17 +56,12 @@ export const Control_textarea = function ({ } this.update = () => { - this.textarea.value = get({ object: object, path: path }); - }; this.wrap = () => { return form.wrap({ - children: [ - this.label, - this.textarea - ] + children: [this.label, this.textarea], }); }; @@ -80,5 +74,4 @@ export const Control_textarea = function ({ this.label.classList.remove('disabled'); this.textarea.disabled = false; }; - }; diff --git a/src/component/customTheme/index.js b/src/component/customTheme/index.js index 78ffac5b..ebe3002d 100644 --- a/src/component/customTheme/index.js +++ b/src/component/customTheme/index.js @@ -13,37 +13,35 @@ import { applyCSSState } from '../../utility/applyCSSState'; const customTheme = {}; customTheme.tile = { - current: [] + current: [], }; customTheme.item = { mod: { add: (customThemeData) => { - state.get.current().theme.custom.all.push(customThemeData.theme); - }, edit: (customThemeData) => { - state.get.current().theme.custom.all.splice(customThemeData.position, 1); - state.get.current().theme.custom.all.splice(customThemeData.position, 0, customThemeData.theme); - + state.get + .current() + .theme.custom.all.splice( + customThemeData.position, + 0, + customThemeData.theme + ); }, remove: (customThemeData) => { - state.get.current().theme.custom.all.splice(customThemeData.position, 1); - - } + }, }, render: (container) => { - customTheme.edit.close(); customTheme.tile.current = []; state.get.current().theme.custom.all.forEach((item, i) => { - const itemIndex = i; const currentCustomThemeData = new StagedCustomTheme(item); @@ -51,32 +49,35 @@ customTheme.item = { currentCustomThemeData.position = itemIndex; const themeCustomTile = new CustomThemeTile({ - customThemeData: currentCustomThemeData + customThemeData: currentCustomThemeData, }); customTheme.tile.current.push(themeCustomTile); container.appendChild(themeCustomTile.tile()); - }); return container; - - } + }, }; customTheme.add = { mod: { - open: () => { state.get.current().theme.custom.edit = true; }, - close: () => { state.get.current().theme.custom.edit = false; } + open: () => { + state.get.current().theme.custom.edit = true; + }, + close: () => { + state.get.current().theme.custom.edit = false; + }, }, render: () => { - const newCustomThemeData = new StagedCustomTheme(); newCustomThemeData.position = state.get.current().theme.custom.all.length; - const bookmarkForm = new CustomThemeForm({ customThemeData: newCustomThemeData }); + const bookmarkForm = new CustomThemeForm({ + customThemeData: newCustomThemeData, + }); const addModal = new Modal({ heading: message.get('themeCustomAddHeading'), @@ -87,55 +88,44 @@ customTheme.add = { successAction: () => { customTheme.item.mod.add(newCustomThemeData); data.save(); - } + }, }); addModal.open(); - - } + }, }; customTheme.edit = { open: () => { - state.get.current().theme.custom.edit = true; customTheme.edit.render(); - }, close: () => { - state.get.current().theme.custom.edit = false; customTheme.edit.render(); - }, toggle: () => { - if (state.get.current().theme.custom.edit) { customTheme.edit.close(); } else { customTheme.edit.open(); } - }, render: () => { - applyCSSState('theme.custom.edit'); if (customTheme.tile.current.length > 0) { customTheme.tile.current.forEach((item) => { - if (state.get.current().theme.custom.edit) { item.control.enable(); } else { item.control.disable(); } - }); } - - } + }, }; export { customTheme }; diff --git a/src/component/customThemeDefault/index.js b/src/component/customThemeDefault/index.js index af108cc6..9130937a 100644 --- a/src/component/customThemeDefault/index.js +++ b/src/component/customThemeDefault/index.js @@ -3,8 +3,19 @@ import { state } from '../state'; export const customThemeDefault = () => { return { name: '', - color: { range: { primary: { h: state.get.current().theme.color.range.primary.h, s: state.get.current().theme.color.range.primary.s } }, contrast: state.get.current().theme.color.contrast }, - accent: { hsl: state.get.current().theme.accent.hsl, rgb: state.get.current().theme.accent.rgb }, + color: { + range: { + primary: { + h: state.get.current().theme.color.range.primary.h, + s: state.get.current().theme.color.range.primary.s, + }, + }, + contrast: state.get.current().theme.color.contrast, + }, + accent: { + hsl: state.get.current().theme.accent.hsl, + rgb: state.get.current().theme.accent.rgb, + }, font: state.get.current().theme.font, background: state.get.current().theme.background, radius: state.get.current().theme.radius, @@ -16,6 +27,6 @@ export const customThemeDefault = () => { header: state.get.current().theme.header, bookmark: state.get.current().theme.bookmark, group: state.get.current().theme.group, - toolbar: state.get.current().theme.toolbar + toolbar: state.get.current().theme.toolbar, }; }; diff --git a/src/component/customThemeForm/index.js b/src/component/customThemeForm/index.js index 441b3bd1..ff73a37e 100644 --- a/src/component/customThemeForm/index.js +++ b/src/component/customThemeForm/index.js @@ -8,10 +8,7 @@ import { node } from '../../utility/node'; import { randomString } from '../../utility/randomString'; import { randomNumber } from '../../utility/randomNumber'; -export const CustomThemeForm = function({ - customThemeData = false -} = {}) { - +export const CustomThemeForm = function ({ customThemeData = false } = {}) { this.element = { form: node('form|class:theme-custom-form'), main: node('div|class:theme-custom-form-main'), @@ -21,34 +18,31 @@ export const CustomThemeForm = function({ id: 'name', value: customThemeData.theme.name, placeholder: message.get('themeCustomFormNamePlaceholder'), - labelText: message.get('themeCustomFormNameLabel') + labelText: message.get('themeCustomFormNameLabel'), }), randomName: new Button({ text: message.get('themeCustomFormRandom'), style: ['line'], func: () => { - customThemeData.theme.name = randomString({ adjectivesCount: randomNumber(1, 3) }); + customThemeData.theme.name = randomString({ + adjectivesCount: randomNumber(1, 3), + }); this.element.text.update(); - } - }) + }, + }), }; this.assemble = () => { - this.element.main.appendChild(this.element.text.wrap()); this.element.main.appendChild(this.element.randomName.wrap()); this.element.form.appendChild(this.element.main); - }; this.form = () => { - return this.element.form; - }; this.assemble(); - }; diff --git a/src/component/customThemeTile/index.css b/src/component/customThemeTile/index.css index aea84422..4b791dcf 100644 --- a/src/component/customThemeTile/index.css +++ b/src/component/customThemeTile/index.css @@ -37,7 +37,10 @@ left: 0; width: 100%; height: 100%; - transition: background-color var(--layout-transition-extra-fast), height var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + height var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast); } .theme-custom-tile-front { @@ -51,7 +54,9 @@ } .is-theme-custom-edit .theme-custom-tile-front { - height: calc(((var(--theme-custom-size) - var(--theme-custom-edit-height)) / 4) * 1em); + height: calc( + ((var(--theme-custom-size) - var(--theme-custom-edit-height)) / 4) * 1em + ); box-shadow: var(--theme-shadow-bottom-medium); } @@ -70,7 +75,12 @@ line-height: 1.6; display: block; overflow: hidden; - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast), height var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast), + height var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast); } .is-theme-custom-edit .theme-custom-button { @@ -151,18 +161,58 @@ } .theme-custom-background-02 { - --theme-custom-preview-shift-02: calc((var(--theme-custom-preview-shift) / 4) + 2); + --theme-custom-preview-shift-02: calc( + (var(--theme-custom-preview-shift) / 4) + 2 + ); background-color: rgb(var(--theme-custom-background-02)); z-index: 2; - clip-path: polygon(100% calc(100% - (var(--theme-custom-preview-shift-02) * ((var(--theme-custom-preview-gap) / 4) * 1em))), 100% 100%, calc(100% - (var(--theme-custom-preview-shift-02) * ((var(--theme-custom-preview-gap) / 4) * 1em))) 100%); + clip-path: polygon( + 100% + calc( + 100% - + ( + var(--theme-custom-preview-shift-02) * + ((var(--theme-custom-preview-gap) / 4) * 1em) + ) + ), + 100% 100%, + calc( + 100% - + ( + var(--theme-custom-preview-shift-02) * + ((var(--theme-custom-preview-gap) / 4) * 1em) + ) + ) + 100% + ); transition-delay: var(--layout-duration-03); } .theme-custom-background-03 { - --theme-custom-preview-shift-03: calc((var(--theme-custom-preview-shift) / 4) + 1); + --theme-custom-preview-shift-03: calc( + (var(--theme-custom-preview-shift) / 4) + 1 + ); background-color: rgb(var(--theme-custom-background-03)); z-index: 3; - clip-path: polygon(100% calc(100% - (var(--theme-custom-preview-shift-03) * ((var(--theme-custom-preview-gap) / 4) * 1em))), 100% 100%, calc(100% - (var(--theme-custom-preview-shift-03) * ((var(--theme-custom-preview-gap) / 4) * 1em))) 100%); + clip-path: polygon( + 100% + calc( + 100% - + ( + var(--theme-custom-preview-shift-03) * + ((var(--theme-custom-preview-gap) / 4) * 1em) + ) + ), + 100% 100%, + calc( + 100% - + ( + var(--theme-custom-preview-shift-03) * + ((var(--theme-custom-preview-gap) / 4) * 1em) + ) + ) + 100% + ); transition-delay: var(--layout-duration-02); } @@ -170,7 +220,25 @@ --theme-custom-preview-shift-04: calc(var(--theme-custom-preview-shift) / 4); background-color: rgb(var(--theme-custom-background-04)); z-index: 4; - clip-path: polygon(100% calc(100% - (var(--theme-custom-preview-shift-04) * ((var(--theme-custom-preview-gap) / 4) * 1em))), 100% 100%, calc(100% - (var(--theme-custom-preview-shift-04) * ((var(--theme-custom-preview-gap) / 4) * 1em))) 100%); + clip-path: polygon( + 100% + calc( + 100% - + ( + var(--theme-custom-preview-shift-04) * + ((var(--theme-custom-preview-gap) / 4) * 1em) + ) + ), + 100% 100%, + calc( + 100% - + ( + var(--theme-custom-preview-shift-04) * + ((var(--theme-custom-preview-gap) / 4) * 1em) + ) + ) + 100% + ); transition-delay: var(--layout-duration-01); } @@ -203,5 +271,10 @@ text-overflow: ellipsis; white-space: initial; transform: scale(1); - transition: color var(--layout-transition-extra-fast), transform var(--layout-transition-extra-fast), max-width var(--layout-transition-extra-fast), max-height var(--layout-transition-extra-fast), top var(--layout-transition-extra-fast), left var(--layout-transition-extra-fast); + transition: color var(--layout-transition-extra-fast), + transform var(--layout-transition-extra-fast), + max-width var(--layout-transition-extra-fast), + max-height var(--layout-transition-extra-fast), + top var(--layout-transition-extra-fast), + left var(--layout-transition-extra-fast); } diff --git a/src/component/customThemeTile/index.js b/src/component/customThemeTile/index.js index bff4cbb3..1a11f425 100644 --- a/src/component/customThemeTile/index.js +++ b/src/component/customThemeTile/index.js @@ -26,10 +26,7 @@ import { applyCSSState } from '../../utility/applyCSSState'; import './index.css'; -export const CustomThemeTile = function({ - customThemeData = false -} = {}) { - +export const CustomThemeTile = function ({ customThemeData = false } = {}) { this.element = { tile: node('div|class:theme-custom-tile'), front: node('div|class:theme-custom-tile-front'), @@ -43,22 +40,27 @@ export const CustomThemeTile = function({ style: ['ring'], block: true, func: () => { - const newCustomThemeData = JSON.parse(JSON.stringify(customThemeData)); - state.get.current().theme.color.range.primary.h = newCustomThemeData.theme.color.range.primary.h; + state.get.current().theme.color.range.primary.h = + newCustomThemeData.theme.color.range.primary.h; - state.get.current().theme.color.range.primary.s = newCustomThemeData.theme.color.range.primary.s; + state.get.current().theme.color.range.primary.s = + newCustomThemeData.theme.color.range.primary.s; - state.get.current().theme.color.contrast = newCustomThemeData.theme.color.contrast; + state.get.current().theme.color.contrast = + newCustomThemeData.theme.color.contrast; - state.get.current().theme.accent.hsl = newCustomThemeData.theme.accent.hsl; + state.get.current().theme.accent.hsl = + newCustomThemeData.theme.accent.hsl; - state.get.current().theme.accent.rgb = newCustomThemeData.theme.accent.rgb; + state.get.current().theme.accent.rgb = + newCustomThemeData.theme.accent.rgb; state.get.current().theme.font = newCustomThemeData.theme.font; - state.get.current().theme.background = newCustomThemeData.theme.background; + state.get.current().theme.background = + newCustomThemeData.theme.background; state.get.current().theme.radius = newCustomThemeData.theme.radius; @@ -287,7 +289,7 @@ export const CustomThemeTile = function({ 'theme.bookmark.color.opacity', 'theme.bookmark.item.opacity', 'theme.toolbar.opacity', - 'theme.group.toolbar.opacity' + 'theme.group.toolbar.opacity', ]); applyCSSClass([ @@ -295,18 +297,22 @@ export const CustomThemeTile = function({ 'theme.background.type', 'theme.layout.color.by', 'theme.header.color.by', - 'theme.bookmark.color.by' + 'theme.bookmark.color.by', ]); - applyCSSState([ - 'theme.layout.divider.size' - ]); + applyCSSState(['theme.layout.divider.size']); layout.area.render(); - bookmark.item.mod.applyVar('border', state.get.current().theme.bookmark.item.border); + bookmark.item.mod.applyVar( + 'border', + state.get.current().theme.bookmark.item.border + ); - bookmark.item.mod.applyVar('color.opacity', state.get.current().theme.bookmark.item.opacity); + bookmark.item.mod.applyVar( + 'color.opacity', + state.get.current().theme.bookmark.item.opacity + ); groupAndBookmark.render(); @@ -317,9 +323,8 @@ export const CustomThemeTile = function({ header.element.search.update.style(); data.save(); - - } - }) + }, + }), }; this.control = {}; @@ -334,33 +339,39 @@ export const CustomThemeTile = function({ title: message.get('themeCustomTileControlEdit'), classList: ['theme-custom-control-button', 'theme-custom-control-edit'], func: () => { - menu.close(); - let newCustomThemeData = new StagedCustomTheme(JSON.parse(JSON.stringify(customThemeData.theme))); + let newCustomThemeData = new StagedCustomTheme( + JSON.parse(JSON.stringify(customThemeData.theme)) + ); - newCustomThemeData.position = JSON.parse(JSON.stringify(customThemeData.position)); + newCustomThemeData.position = JSON.parse( + JSON.stringify(customThemeData.position) + ); - const bookmarkForm = new CustomThemeForm({ customThemeData: newCustomThemeData }); + const bookmarkForm = new CustomThemeForm({ + customThemeData: newCustomThemeData, + }); const editModal = new Modal({ - heading: isValidString(customThemeData.theme.name) ? `${message.get('themeCustomEditHeadingName')} ${customThemeData.theme.name}` : message.get('themeCustomEditHeadingUnnamed'), + heading: isValidString(customThemeData.theme.name) + ? `${message.get('themeCustomEditHeadingName')} ${ + customThemeData.theme.name + }` + : message.get('themeCustomEditHeadingUnnamed'), content: bookmarkForm.form(), successText: message.get('themeCustomEditSuccessText'), cancelText: message.get('themeCustomEditCancelText'), width: 'small', successAction: () => { - customTheme.item.mod.edit(newCustomThemeData); data.save(); - - } + }, }); editModal.open(); - - } + }, }), remove: new Button({ text: message.get('themeCustomTileControlRemove'), @@ -371,11 +382,14 @@ export const CustomThemeTile = function({ title: message.get('themeCustomTileControlRemove'), classList: ['theme-custom-control-button', 'theme-custom-control-remove'], func: () => { - menu.close(); const removeModal = new Modal({ - heading: isValidString(customThemeData.theme.name) ? `${message.get('themeCustomRemoveHeadingName')} ${customThemeData.theme.name}` : message.get('themeCustomRemoveHeadingUnnamed'), + heading: isValidString(customThemeData.theme.name) + ? `${message.get('themeCustomRemoveHeadingName')} ${ + customThemeData.theme.name + }` + : message.get('themeCustomRemoveHeadingUnnamed'), content: message.get('themeCustomRemoveContent'), successText: message.get('themeCustomRemoveSuccessText'), cancelText: message.get('themeCustomRemoveCancelText'), @@ -383,13 +397,12 @@ export const CustomThemeTile = function({ successAction: () => { customTheme.item.mod.remove(customThemeData); data.save(); - } + }, }); removeModal.open(); - - } - }) + }, + }), }; this.control.disable = () => { @@ -405,84 +418,132 @@ export const CustomThemeTile = function({ }; this.previewTile = () => { - const shadeSteps = 4; let hsl = customThemeData.theme.color.range.primary; - hsl.l = Math.round(customThemeData.theme.color.contrast.start + ((customThemeData.theme.color.contrast.end - customThemeData.theme.color.contrast.start) / 2)); + hsl.l = Math.round( + customThemeData.theme.color.contrast.start + + (customThemeData.theme.color.contrast.end - + customThemeData.theme.color.contrast.start) / + 2 + ); - let shadeStep = Math.round((customThemeData.theme.color.contrast.end - customThemeData.theme.color.contrast.start) / 10); + let shadeStep = Math.round( + (customThemeData.theme.color.contrast.end - + customThemeData.theme.color.contrast.start) / + 10 + ); for (let i = 1; i <= shadeSteps; i++) { + let darken = () => { + hsl.l = Math.round(hsl.l - shadeStep); + }; - let darken = () => { hsl.l = Math.round(hsl.l - shadeStep); }; - - let lighten = () => { hsl.l = Math.round(hsl.l + shadeStep); }; + let lighten = () => { + hsl.l = Math.round(hsl.l + shadeStep); + }; if (customThemeData.theme.style == 'dark') { - darken(); - } else if (customThemeData.theme.style == 'light') { - lighten(); - } else if (customThemeData.theme.style == 'system') { - if (window.matchMedia('(prefers-color-scheme:dark)').matches) { darken(); } else if (window.matchMedia('(prefers-color-scheme:light)').matches) { lighten(); } - } - if (hsl.l < 0) { hsl.l = 0; } + if (hsl.l < 0) { + hsl.l = 0; + } - if (hsl.l > 100) { hsl.l = 100; } + if (hsl.l > 100) { + hsl.l = 100; + } let rgb = convertColor.hsl.rgb(hsl); - this.element.tile.style.setProperty('--theme-custom-background-0' + i + '-rgb-r', rgb.r); - this.element.tile.style.setProperty('--theme-custom-background-0' + i + '-rgb-g', rgb.g); - this.element.tile.style.setProperty('--theme-custom-background-0' + i + '-rgb-b', rgb.b); - this.element.tile.style.setProperty('--theme-custom-background-0' + i + '-hsl-h', hsl.h); - this.element.tile.style.setProperty('--theme-custom-background-0' + i + '-hsl-s', hsl.s); - this.element.tile.style.setProperty('--theme-custom-background-0' + i + '-hsl-l', hsl.l); - - this.element.tile.style.setProperty('--theme-custom-background-0' + i, 'var(--theme-custom-background-0' + i + '-rgb-r), var(--theme-custom-background-0' + i + '-rgb-g), var(--theme-custom-background-0' + i + '-rgb-b)'); - - this.element.preview.appendChild(node('span|class:theme-custom-background-0' + i)); - + this.element.tile.style.setProperty( + '--theme-custom-background-0' + i + '-rgb-r', + rgb.r + ); + this.element.tile.style.setProperty( + '--theme-custom-background-0' + i + '-rgb-g', + rgb.g + ); + this.element.tile.style.setProperty( + '--theme-custom-background-0' + i + '-rgb-b', + rgb.b + ); + this.element.tile.style.setProperty( + '--theme-custom-background-0' + i + '-hsl-h', + hsl.h + ); + this.element.tile.style.setProperty( + '--theme-custom-background-0' + i + '-hsl-s', + hsl.s + ); + this.element.tile.style.setProperty( + '--theme-custom-background-0' + i + '-hsl-l', + hsl.l + ); + + this.element.tile.style.setProperty( + '--theme-custom-background-0' + i, + 'var(--theme-custom-background-0' + + i + + '-rgb-r), var(--theme-custom-background-0' + + i + + '-rgb-g), var(--theme-custom-background-0' + + i + + '-rgb-b)' + ); + + this.element.preview.appendChild( + node('span|class:theme-custom-background-0' + i) + ); } - this.element.tile.style.setProperty('--theme-custom-text', '0, 0%, calc(((((var(--theme-custom-background-01-rgb-r) * var(--theme-t-r)) + (var(--theme-custom-background-01-rgb-g) * var(--theme-t-g)) + (var(--theme-custom-background-01-rgb-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)'); - - this.element.tile.style.setProperty('--theme-custom-accent-rgb-r', customThemeData.theme.accent.rgb.r); - this.element.tile.style.setProperty('--theme-custom-accent-rgb-g', customThemeData.theme.accent.rgb.g); - this.element.tile.style.setProperty('--theme-custom-accent-rgb-b', customThemeData.theme.accent.rgb.b); - - this.element.tile.style.setProperty('--theme-custom-accent', 'var(--theme-custom-accent-rgb-r), var(--theme-custom-accent-rgb-g), var(--theme-custom-accent-rgb-b)'); + this.element.tile.style.setProperty( + '--theme-custom-text', + '0, 0%, calc(((((var(--theme-custom-background-01-rgb-r) * var(--theme-t-r)) + (var(--theme-custom-background-01-rgb-g) * var(--theme-t-g)) + (var(--theme-custom-background-01-rgb-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)' + ); + + this.element.tile.style.setProperty( + '--theme-custom-accent-rgb-r', + customThemeData.theme.accent.rgb.r + ); + this.element.tile.style.setProperty( + '--theme-custom-accent-rgb-g', + customThemeData.theme.accent.rgb.g + ); + this.element.tile.style.setProperty( + '--theme-custom-accent-rgb-b', + customThemeData.theme.accent.rgb.b + ); + + this.element.tile.style.setProperty( + '--theme-custom-accent', + 'var(--theme-custom-accent-rgb-r), var(--theme-custom-accent-rgb-g), var(--theme-custom-accent-rgb-b)' + ); this.element.preview.appendChild(node('span|class:theme-custom-accent')); return node('div|class:theme-custom-tile'); - }; this.assemble = () => { - this.previewTile(); this.element.custom.button.appendChild(this.element.preview); if (isValidString(customThemeData.theme.name)) { - this.element.name.innerHTML = customThemeData.theme.name; this.element.custom.button.appendChild(this.element.name); - } this.element.front.appendChild(this.element.custom.button); @@ -502,15 +563,11 @@ export const CustomThemeTile = function({ } else { this.control.disable(); } - }; this.tile = () => { - return this.element.tile; - }; this.assemble(); - }; diff --git a/src/component/data/index.js b/src/component/data/index.js index 760e485e..b6b79bb3 100644 --- a/src/component/data/index.js +++ b/src/component/data/index.js @@ -30,7 +30,7 @@ data.import = { state: { setup: { include: true }, bookmark: { include: true, type: 'restore' }, - theme: { include: true } + theme: { include: true }, }, reset: () => { data.import.state.setup.include = true; @@ -41,37 +41,27 @@ data.import = { data.import.state.theme.include = true; }, - file: ({ - fileList = false, - feedback = false, - input = false - } = {}) => { + file: ({ fileList = false, feedback = false, input = false } = {}) => { if (fileList.length > 0) { data.validate.file({ fileList: fileList, feedback: feedback, - input: input + input: input, }); } }, - drop: ({ - fileList = false, - feedback = false - }) => { + drop: ({ fileList = false, feedback = false }) => { if (fileList.length > 0) { data.validate.file({ fileList: fileList, - feedback: feedback + feedback: feedback, }); } }, - paste: ({ - clipboardData = false, - feedback = false - }) => { + paste: ({ clipboardData = false, feedback = false }) => { data.validate.paste({ clipboardData: clipboardData, - feedback: feedback + feedback: feedback, }); }, render: (dataToImport) => { @@ -83,7 +73,7 @@ data.import = { const importForm = new ImportForm({ dataToImport: dataToCheck, - state: data.import.state + state: data.import.state, }); const importModal = new Modal({ @@ -93,7 +83,11 @@ data.import = { cancelText: message.get('dataRestoreCancelText'), width: 'small', successAction: () => { - if (data.import.state.setup.include || data.import.state.theme.include || data.import.state.bookmark.include) { + if ( + data.import.state.setup.include || + data.import.state.theme.include || + data.import.state.bookmark.include + ) { let dataToRestore = JSON.parse(dataToImport); if (dataToRestore.version !== version.number) { @@ -111,53 +105,63 @@ data.import = { data.import.reset(); }, - cancelAction: () => { data.import.reset(); }, - closeAction: () => { data.import.reset(); } + cancelAction: () => { + data.import.reset(); + }, + closeAction: () => { + data.import.reset(); + }, }); importModal.open(); - } + }, }; data.validate = { - paste: ({ - feedback = false - } = {}) => { - navigator.clipboard.readText().then(clipboardData => { - // is the data a JSON object - if (isJson(clipboardData)) { - // is this JSON from this app - if (JSON.parse(clipboardData)[APP_NAME] || JSON.parse(clipboardData)[APP_NAME.toLowerCase()]) { - data.feedback.clear.render(feedback); - - data.feedback.success.render(feedback, 'Clipboard data', () => { - menu.close(); - - data.import.render(clipboardData); - }); + paste: ({ feedback = false } = {}) => { + navigator.clipboard + .readText() + .then((clipboardData) => { + // is the data a JSON object + if (isJson(clipboardData)) { + // is this JSON from this app + if ( + JSON.parse(clipboardData)[APP_NAME] || + JSON.parse(clipboardData)[APP_NAME.toLowerCase()] + ) { + data.feedback.clear.render(feedback); + + data.feedback.success.render(feedback, 'Clipboard data', () => { + menu.close(); + + data.import.render(clipboardData); + }); + } else { + data.feedback.clear.render(feedback); + + data.feedback.fail.notClipboardJson.render( + feedback, + 'Clipboard data' + ); + } } else { + // not a JSON object + data.feedback.clear.render(feedback); - data.feedback.fail.notClipboardJson.render(feedback, 'Clipboard data'); + data.feedback.fail.notClipboardJson.render( + feedback, + 'Clipboard data' + ); } - } else { - // not a JSON object - + }) + .catch(() => { data.feedback.clear.render(feedback); data.feedback.fail.notClipboardJson.render(feedback, 'Clipboard data'); - } - }).catch(() => { - data.feedback.clear.render(feedback); - - data.feedback.fail.notClipboardJson.render(feedback, 'Clipboard data'); - }); + }); }, - file: ({ - fileList = false, - feedback = false, - input = false - } = {}) => { + file: ({ fileList = false, feedback = false, input = false } = {}) => { // make new file reader const reader = new window.FileReader(); @@ -166,7 +170,10 @@ data.validate = { // is this a JSON file if (isJson(event.target.result)) { // is this JSON from this app - if (JSON.parse(event.target.result)[APP_NAME] || JSON.parse(event.target.result)[APP_NAME.toLowerCase()]) { + if ( + JSON.parse(event.target.result)[APP_NAME] || + JSON.parse(event.target.result)[APP_NAME.toLowerCase()] + ) { data.feedback.clear.render(feedback); data.feedback.success.render(feedback, fileList[0].name, () => { @@ -175,13 +182,17 @@ data.validate = { data.import.render(event.target.result); }); - if (input) { input.value = ''; } + if (input) { + input.value = ''; + } } else { data.feedback.clear.render(feedback); data.feedback.fail.notAppJson.render(feedback, fileList[0].name); - if (input) { input.value = ''; } + if (input) { + input.value = ''; + } } } else { // not a JSON file @@ -198,7 +209,7 @@ data.validate = { // invoke the reader reader.readAsText(fileList.item(0)); - } + }, }; data.export = () => { @@ -217,11 +228,30 @@ data.export = () => { timestamp.date = leadingZero(timestamp.date); timestamp.month = leadingZero(timestamp.month + 1); timestamp.year = leadingZero(timestamp.year); - timestamp = timestamp.year + '.' + timestamp.month + '.' + timestamp.date + ' - ' + timestamp.hours + ' ' + timestamp.minutes + ' ' + timestamp.seconds; - - const fileName = APP_NAME + ' ' + message.get('dataExportBackup') + ' - ' + timestamp + '.json'; - - const dataToExport = 'data:text/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(data.load())); + timestamp = + timestamp.year + + '.' + + timestamp.month + + '.' + + timestamp.date + + ' - ' + + timestamp.hours + + ' ' + + timestamp.minutes + + ' ' + + timestamp.seconds; + + const fileName = + APP_NAME + + ' ' + + message.get('dataExportBackup') + + ' - ' + + timestamp + + '.json'; + + const dataToExport = + 'data:text/json;charset=utf-8,' + + encodeURIComponent(JSON.stringify(data.load())); const link = document.createElement('a'); @@ -229,7 +259,9 @@ data.export = () => { link.setAttribute('download', fileName); - link.addEventListener('click', () => { link.remove(); }); + link.addEventListener('click', () => { + link.remove(); + }); document.querySelector('body').appendChild(link); @@ -289,12 +321,15 @@ data.restore = (dataToRestore) => { }; data.save = () => { - data.set(APP_NAME, JSON.stringify({ - [APP_NAME]: true, - version: version.number, - state: state.get.current(), - bookmark: bookmark.all - })); + data.set( + APP_NAME, + JSON.stringify({ + [APP_NAME]: true, + version: version.number, + state: state.get.current(), + bookmark: bookmark.all, + }) + ); }; data.load = () => { @@ -322,21 +357,24 @@ data.wipe = { partial: () => { bookmark.reset(); - data.set(APP_NAME, JSON.stringify({ - [APP_NAME]: true, - version: version.number, - state: state.get.default(), - bookmark: bookmark.all - })); + data.set( + APP_NAME, + JSON.stringify({ + [APP_NAME]: true, + version: version.number, + state: state.get.default(), + bookmark: bookmark.all, + }) + ); data.reload.render(); - } + }, }; data.reload = { render: () => { window.location.reload(); - } + }, }; data.clear = { @@ -346,18 +384,18 @@ data.clear = { heading: message.get('dataClearAllHeading'), content: node('div', [ node(`p:${message.get('dataClearAllContentPara1')}`), - node(`p:${message.get('dataClearAllContentPara2')}`) + node(`p:${message.get('dataClearAllContentPara2')}`), ]), successText: message.get('dataClearAllSuccessText'), cancelText: message.get('dataClearAllCancelText'), width: 'small', successAction: () => { data.wipe.all(); - } + }, }); clearModal.open(); - } + }, }, partial: { render: () => { @@ -365,69 +403,83 @@ data.clear = { heading: message.get('dataClearPartialHeading'), content: node('div', [ node(`p:${message.get('dataClearPartialContentPara1')}`), - node(`p:${message.get('dataClearPartialContentPara2')}`) + node(`p:${message.get('dataClearPartialContentPara2')}`), ]), successText: message.get('dataClearPartialSuccessText'), cancelText: message.get('dataClearPartialCancelText'), width: 35, successAction: () => { data.wipe.partial(); - } + }, }); clearModal.open(); - } - } + }, + }, }; data.feedback = {}; data.feedback.empty = { render: (feedback) => { - feedback.appendChild(node(`p:${message.get('dataFeedbackEmpty')}|class:muted small`)); - } + feedback.appendChild( + node(`p:${message.get('dataFeedbackEmpty')}|class:muted small`) + ); + }, }; data.feedback.clear = { render: (feedback) => { clearChildNode(feedback); - } + }, }; data.feedback.success = { render: (feedback, filename, action) => { - feedback.appendChild(node(`p:${message.get('dataFeedbackSuccess')}|class:muted small`)); + feedback.appendChild( + node(`p:${message.get('dataFeedbackSuccess')}|class:muted small`) + ); feedback.appendChild(node('p:' + filename)); if (action) { data.feedback.animation.set.render(feedback, 'is-pop', action); } - } + }, }; data.feedback.fail = { notJson: { render: (feedback, filename) => { - feedback.appendChild(node(`p:${message.get('dataFeedbackFailNotJson')}|class:small muted`)); + feedback.appendChild( + node(`p:${message.get('dataFeedbackFailNotJson')}|class:small muted`) + ); feedback.appendChild(complexNode({ tag: 'p', text: filename })); data.feedback.animation.set.render(feedback, 'is-shake'); - } + }, }, notAppJson: { render: (feedback, filename) => { - feedback.appendChild(node(`p:${message.get('dataFeedbackFailNotAppJson')}|class:small muted`)); + feedback.appendChild( + node(`p:${message.get('dataFeedbackFailNotAppJson')}|class:small muted`) + ); feedback.appendChild(complexNode({ tag: 'p', text: filename })); data.feedback.animation.set.render(feedback, 'is-shake'); - } + }, }, notClipboardJson: { render: (feedback, name) => { - feedback.appendChild(node(`p:${message.get('dataFeedbackFailNotClipboardJson')}|class:small muted`)); + feedback.appendChild( + node( + `p:${message.get( + 'dataFeedbackFailNotClipboardJson' + )}|class:small muted` + ) + ); feedback.appendChild(node('p:' + name)); data.feedback.animation.set.render(feedback, 'is-shake'); - } - } + }, + }, }; data.feedback.animation = { @@ -443,16 +495,19 @@ data.feedback.animation = { }; feedback.addEventListener('animationend', animationEndAction); - } + }, }, reset: { render: (feedback) => { feedback.classList.remove('is-shake'); feedback.classList.remove('is-pop'); feedback.classList.remove('is-jello'); - feedback.removeEventListener('animationend', data.feedback.animation.reset.render); - } - } + feedback.removeEventListener( + 'animationend', + data.feedback.animation.reset.render + ); + }, + }, }; data.init = () => { diff --git a/src/component/date/index.js b/src/component/date/index.js index 4332d51c..8ae323c4 100644 --- a/src/component/date/index.js +++ b/src/component/date/index.js @@ -13,17 +13,14 @@ import moment from 'moment'; import './index.css'; export const Date = function () { - this.now; this.bind = {}; this.bind.tick = () => { - window.setInterval(() => { this.update(); }, 1000); - }; this.element = { @@ -31,19 +28,16 @@ export const Date = function () { day: node('span|class:date-item date-day'), dateOfMonth: node('span|class:date-item date-date'), month: node('span|class:date-item date-month'), - year: node('span|class:date-item date-year') + year: node('span|class:date-item date-year'), }; this.string = {}; this.string.day = () => { - let value; switch (state.get.current().header.date.day.display) { - case 'word': - value = this.now.format('dddd'); if (state.get.current().header.date.day.length == 'short') { @@ -53,7 +47,6 @@ export const Date = function () { break; case 'number': - value = this.now.day(); if (state.get.current().header.date.day.weekStart == 'monday') { @@ -65,21 +58,16 @@ export const Date = function () { } break; - } return value; - }; this.string.dateOfMonth = () => { - let value; switch (state.get.current().header.date.date.display) { - case 'word': - if (state.get.current().header.date.date.ordinal) { value = ordinalWord(wordNumber(this.now.date())); } else { @@ -89,7 +77,6 @@ export const Date = function () { break; case 'number': - if (state.get.current().header.date.date.ordinal) { value = this.now.format('Do'); } else { @@ -97,21 +84,16 @@ export const Date = function () { } break; - } return value; - }; this.string.month = () => { - let value; switch (state.get.current().header.date.month.display) { - case 'word': - value = this.now.format('MMMM'); if (state.get.current().header.date.month.length == 'short') { value = value.substring(0, 3); @@ -120,7 +102,6 @@ export const Date = function () { break; case 'number': - if (state.get.current().header.date.month.ordinal) { value = this.now.format('Mo'); } else { @@ -128,51 +109,42 @@ export const Date = function () { } break; - } return value; - }; this.string.year = () => { - let value; switch (state.get.current().header.date.year.display) { - case 'word': - value = wordNumber(this.now.format('YYYY')); break; case 'number': - value = this.now.format('YYYY'); break; - } return value; - }; this.assemble = () => { - clearChildNode(this.element.date); if (state.get.current().header.date.day.show) { this.element.date.appendChild(this.element.day); } - if (state.get.current().header.date.date.show && state.get.current().header.date.month.show) { - + if ( + state.get.current().header.date.date.show && + state.get.current().header.date.month.show + ) { switch (state.get.current().header.date.format) { - case 'date-month': - if (state.get.current().header.date.date.show) { this.element.date.appendChild(this.element.dateOfMonth); } @@ -184,7 +156,6 @@ export const Date = function () { break; case 'month-date': - if (state.get.current().header.date.month.show) { this.element.date.appendChild(this.element.month); } @@ -194,11 +165,8 @@ export const Date = function () { } break; - } - } else { - if (state.get.current().header.date.date.show) { this.element.date.appendChild(this.element.dateOfMonth); } @@ -206,7 +174,6 @@ export const Date = function () { if (state.get.current().header.date.month.show) { this.element.date.appendChild(this.element.month); } - } if (state.get.current().header.date.year.show) { @@ -214,11 +181,12 @@ export const Date = function () { } if (state.get.current().header.date.separator.show) { - let separatorCharacter; if (isValidString(state.get.current().header.date.separator.text)) { - separatorCharacter = trimString(state.get.current().header.date.separator.text); + separatorCharacter = trimString( + state.get.current().header.date.separator.text + ); } else { separatorCharacter = '/'; } @@ -226,32 +194,27 @@ export const Date = function () { let parts = this.element.date.querySelectorAll('span'); if (parts.length > 1) { - parts.forEach((item, i) => { if (i > 0) { - let separator = complexNode({ tag: 'span', text: separatorCharacter, - attr: [{ - key: 'class', - value: 'date-item date-separator' - }] + attr: [ + { + key: 'class', + value: 'date-item date-separator', + }, + ], }); this.element.date.insertBefore(separator, item); - } }); - } - } - }; this.update = () => { - this.assemble(); this.now = moment(); @@ -271,7 +234,6 @@ export const Date = function () { if (state.get.current().header.date.year.show) { this.element.year.innerHTML = this.string.year(); } - }; this.assemble(); @@ -283,5 +245,4 @@ export const Date = function () { this.date = () => { return this.element.date; }; - }; diff --git a/src/component/dropFile/index.css b/src/component/dropFile/index.css index 85e20212..5100b681 100644 --- a/src/component/dropFile/index.css +++ b/src/component/dropFile/index.css @@ -13,7 +13,8 @@ border-style: solid; border-color: hsl(var(--drop-file-border)); border-radius: calc(var(--theme-radius) * 0.01em); - padding: calc(((var(--alert-space) * 2) / 4) * 1em) calc((var(--alert-space) / 4) * 1em); + padding: calc(((var(--alert-space) * 2) / 4) * 1em) + calc((var(--alert-space) / 4) * 1em); width: 100%; display: flex; flex-direction: column; @@ -21,10 +22,13 @@ justify-content: center; gap: 1em; transform: scale(1); - transition: background-color var(--layout-transition-extra-fast), border var(--layout-transition-extra-fast), transform var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border var(--layout-transition-extra-fast), + transform var(--layout-transition-extra-fast); } -.drop-file-heading {} +.drop-file-heading { +} .drop-file-over { background: hsl(var(--drop-file-background)); diff --git a/src/component/dropFile/index.js b/src/component/dropFile/index.js index f80715ac..ab9a521f 100644 --- a/src/component/dropFile/index.js +++ b/src/component/dropFile/index.js @@ -1,4 +1,3 @@ - import * as form from '../form'; import { node } from '../../utility/node'; @@ -10,37 +9,30 @@ export const DropFile = function ({ dropAaction = false, enterAction = false, leaveAction = false, - children = [] + children = [], } = {}) { - this.files = false; this.element = { drop: node('div|class:drop-file', children), - heading: node(`p:${heading}|class:drop-file-heading small`) + heading: node(`p:${heading}|class:drop-file-heading small`), }; this.assemble = () => { - this.element.drop.appendChild(this.element.heading); - }; this.bind = () => { - this.element.drop.addEventListener('dragenter', (event) => { - event.stopPropagation(); event.preventDefault(); if (enterAction) { enterAction(); } - }); this.element.drop.addEventListener('dragleave', (event) => { - event.stopPropagation(); event.preventDefault(); @@ -49,20 +41,16 @@ export const DropFile = function ({ if (leaveAction) { leaveAction(); } - }); this.element.drop.addEventListener('dragover', (event) => { - event.stopPropagation(); event.preventDefault(); this.element.drop.classList.add('drop-file-over'); - }); this.element.drop.addEventListener('drop', (event) => { - event.stopPropagation(); event.preventDefault(); @@ -73,9 +61,7 @@ export const DropFile = function ({ if (dropAaction) { dropAaction(); } - }); - }; this.drop = () => { @@ -84,14 +70,11 @@ export const DropFile = function ({ this.wrap = () => { return form.wrap({ - children: [ - this.element.drop - ] + children: [this.element.drop], }); }; this.assemble(); this.bind(); - }; diff --git a/src/component/dropdown/index.css b/src/component/dropdown/index.css index d806c0fb..9d074a6d 100644 --- a/src/component/dropdown/index.css +++ b/src/component/dropdown/index.css @@ -14,7 +14,8 @@ .dropdown-content { background-color: hsl(var(--dropdown-background)); - padding: calc(0.5em + ((var(--theme-radius) / 8) * 0.01em)) calc(0.5em + ((var(--theme-radius) / 6) * 0.01em)); + padding: calc(0.5em + ((var(--theme-radius) / 8) * 0.01em)) + calc(0.5em + ((var(--theme-radius) / 6) * 0.01em)); border-radius: calc(0.25em + (var(--theme-radius) * 0.01em)); display: flex; flex-direction: column; diff --git a/src/component/dropdown/index.js b/src/component/dropdown/index.js index 3b7658d4..0ec28837 100644 --- a/src/component/dropdown/index.js +++ b/src/component/dropdown/index.js @@ -5,18 +5,17 @@ import { node } from '../../utility/node'; import './index.css'; -export const Dropdown = function({ +export const Dropdown = function ({ title = false, text = 'Dropdown', menuItem = [], buttonStyle = [], buttonClassList = [], srOnly = false, - iconName = false + iconName = false, } = {}) { - this.state = { - open: false + open: false, }; this.element = { @@ -30,15 +29,13 @@ export const Dropdown = function({ style: buttonStyle, classList: buttonClassList, func: () => { - if (this.state.open) { this.close(); } else { this.open(); } - - } - }) + }, + }), }; this.toggle = this.element.toggle.button; @@ -46,13 +43,10 @@ export const Dropdown = function({ this.buttonStyle = {}; this.buttonStyle.update = (style) => { - this.element.toggle.style.update(style); - }; this.open = () => { - this.state.open = true; const body = document.querySelector('body'); @@ -62,11 +56,9 @@ export const Dropdown = function({ this.position(); this.bind.add(); - }; this.close = () => { - this.state.open = false; const body = document.querySelector('body'); @@ -76,20 +68,44 @@ export const Dropdown = function({ } this.bind.remove(); - }; - this.esc = new KeyboardShortcut({ keycode: 27, action: () => { this.close(); } }); + this.esc = new KeyboardShortcut({ + keycode: 27, + action: () => { + this.close(); + }, + }); - this.ctrAltM = new KeyboardShortcut({ keycode: 77, ctrl: true, alt: true, action: () => { this.close(); } }); + this.ctrAltM = new KeyboardShortcut({ + keycode: 77, + ctrl: true, + alt: true, + action: () => { + this.close(); + }, + }); - this.ctrAltG = new KeyboardShortcut({ keycode: 71, ctrl: true, alt: true, action: () => { this.close(); } }); + this.ctrAltG = new KeyboardShortcut({ + keycode: 71, + ctrl: true, + alt: true, + action: () => { + this.close(); + }, + }); - this.ctrAltA = new KeyboardShortcut({ keycode: 65, ctrl: true, alt: true, action: () => { this.close(); } }); + this.ctrAltA = new KeyboardShortcut({ + keycode: 65, + ctrl: true, + alt: true, + action: () => { + this.close(); + }, + }); this.bind = { add: () => { - window.addEventListener('mouseup', this.clickOut); this.esc.add(); @@ -99,10 +115,8 @@ export const Dropdown = function({ this.ctrAltG.add(); this.ctrAltA.add(); - }, remove: () => { - window.removeEventListener('mouseup', this.clickOut); this.esc.remove(); @@ -112,24 +126,21 @@ export const Dropdown = function({ this.ctrAltG.remove(); this.ctrAltA.remove(); - - } + }, }; this.clickOut = (event) => { - const path = event.path || (event.composedPath && event.composedPath()); - if (!path.includes(this.element.toggle.button) && !path.includes(this.element.menu)) { - + if ( + !path.includes(this.element.toggle.button) && + !path.includes(this.element.menu) + ) { this.close(); - } - }; this.position = () => { - const vWidth = window.innerWidth; const vHeight = window.innerHeight; @@ -140,58 +151,49 @@ export const Dropdown = function({ let menuTop; - if ((dropdownRect.bottom + menuRect.height) > vHeight) { + if (dropdownRect.bottom + menuRect.height > vHeight) { menuTop = dropdownRect.top - menuRect.height; } else { menuTop = dropdownRect.bottom; } - let menuLeft = dropdownRect.left + (dropdownRect.width / 2) - (menuRect.width / 2); + let menuLeft = + dropdownRect.left + dropdownRect.width / 2 - menuRect.width / 2; if (menuLeft < 0) { menuLeft = 0; - } else if ((menuLeft + menuRect.width) > vWidth) { + } else if (menuLeft + menuRect.width > vWidth) { menuLeft = vWidth - menuRect.width; } this.element.menu.style.setProperty('--dropdown-menu-top', menuTop); this.element.menu.style.setProperty('--dropdown-menu-left', menuLeft); - }; this.assemble = () => { - if (menuItem.length > 0) { - menuItem.forEach((item) => { - const dropdownMenuButton = new Button({ text: item.text, iconName: item.iconName, - classList: ['dropdown-menu-button'] + classList: ['dropdown-menu-button'], }); dropdownMenuButton.button.addEventListener('click', () => { - if (item.action()) { item.action(); } this.close(); - }); this.element.content.appendChild(dropdownMenuButton.button); - }); this.element.menu.appendChild(this.element.content); - } - }; this.assemble(); - }; diff --git a/src/component/easterEgg/index.js b/src/component/easterEgg/index.js index 6b8d83c8..7a7bd8f5 100644 --- a/src/component/easterEgg/index.js +++ b/src/component/easterEgg/index.js @@ -15,11 +15,9 @@ const easterEgg = {}; easterEgg.toaster = {}; easterEgg.toaster.render = () => { - easterEgg.toaster.bind.remove(); if (bookmark.all.length < 1) { - const newGroupData = new StagedGroup(); newGroupData.group.name.text = 'Toaster'; @@ -27,7 +25,6 @@ easterEgg.toaster.render = () => { newGroupData.newGroup(); group.item.mod.add(newGroupData); - } const newBookmarkData = new StagedBookmark(); @@ -36,7 +33,8 @@ easterEgg.toaster.render = () => { newBookmarkData.link.background.show = true; - newBookmarkData.link.background.image.url = 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628494879270.gif?raw=true'; + newBookmarkData.link.background.image.url = + 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628494879270.gif?raw=true'; newBookmarkData.link.display.name.show = false; @@ -46,7 +44,9 @@ easterEgg.toaster.render = () => { newBookmarkData.link.accent.hsl = { h: randomNumber(0, 360), s: 100, l: 50 }; - newBookmarkData.link.accent.rgb = convertColor.hsl.rgb(newBookmarkData.link.accent.hsl); + newBookmarkData.link.accent.rgb = convertColor.hsl.rgb( + newBookmarkData.link.accent.hsl + ); newBookmarkData.link.color.by = 'custom'; @@ -65,24 +65,25 @@ easterEgg.toaster.render = () => { menu.close(); data.save(); - }; easterEgg.toaster.bind = { add: () => { - - menu.element.frame.element.area.addEventListener('animationend', easterEgg.toaster.render); + menu.element.frame.element.area.addEventListener( + 'animationend', + easterEgg.toaster.render + ); menu.element.frame.element.area.classList.add('is-jello'); - }, remove: () => { - - menu.element.frame.element.area.removeEventListener('animationend', easterEgg.toaster.render); + menu.element.frame.element.area.removeEventListener( + 'animationend', + easterEgg.toaster.render + ); menu.element.frame.element.area.classList.remove('is-jello'); - - } + }, }; export { easterEgg }; diff --git a/src/component/edge/index.css b/src/component/edge/index.css index 44c326c7..8fe2f732 100644 --- a/src/component/edge/index.css +++ b/src/component/edge/index.css @@ -1,10 +1,15 @@ :root { --edge: inset 0 0 0 var(--layout-line-width) rgb(var(--theme-accent)), - inset 0 0 0 calc(var(--layout-line-width) * 4) rgba(var(--theme-accent), 0.1), - inset 0 0 0 calc(var(--layout-line-width) * 8) rgba(var(--theme-accent), 0.1); - --edge-on-accent: inset 0 0 0 var(--layout-line-width) hsl(var(--theme-accent-text)), - inset 0 0 0 calc(var(--layout-line-width) * 4) hsla(var(--theme-accent-text), 0.1), - inset 0 0 0 calc(var(--layout-line-width) * 8) hsla(var(--theme-accent-text), 0.1); + inset 0 0 0 calc(var(--layout-line-width) * 4) + rgba(var(--theme-accent), 0.1), + inset 0 0 0 calc(var(--layout-line-width) * 8) + rgba(var(--theme-accent), 0.1); + --edge-on-accent: inset 0 0 0 var(--layout-line-width) + hsl(var(--theme-accent-text)), + inset 0 0 0 calc(var(--layout-line-width) * 4) + hsla(var(--theme-accent-text), 0.1), + inset 0 0 0 calc(var(--layout-line-width) * 8) + hsla(var(--theme-accent-text), 0.1); } .edge, @@ -32,12 +37,9 @@ .edge.is-edge-opening, .edge-secondary.is-edge-opening { - transition: - opacity var(--layout-transition-fast), - top var(--layout-transition-fast), - left var(--layout-transition-fast), - width var(--layout-transition-fast), - height var(--layout-transition-fast); + transition: opacity var(--layout-transition-fast), + top var(--layout-transition-fast), left var(--layout-transition-fast), + width var(--layout-transition-fast), height var(--layout-transition-fast); } .is-theme-background-type-accent .edge, diff --git a/src/component/edge/index.js b/src/component/edge/index.js index 8e58a7cb..8ffb71ea 100644 --- a/src/component/edge/index.js +++ b/src/component/edge/index.js @@ -7,57 +7,57 @@ import './index.css'; export const Edge = function ({ primary = false, secondary = false, - padding = 0 + padding = 0, } = {}) { - this.tick = null; this.element = { edge: { primary: null, - secondary: [] - } + secondary: [], + }, }; this.bind = { set: () => { - this.tick = window.setTimeout(() => { - this.bind.set(); this.track(); - }, 100); - }, remove: () => { - clearTimeout(this.tick); this.tick = null; - - } + }, }; this.assemble = () => { - this.element.edge.primary = node('div|class:edge is-transparent'); this.element.edge.primary.addEventListener('transitionend', (event) => { - - if (event.propertyName === 'opacity' && getComputedStyle(this.element.edge.primary).opacity == 1) { - + if ( + event.propertyName === 'opacity' && + getComputedStyle(this.element.edge.primary).opacity == 1 + ) { this.bind.set(); this.element.edge.primary.classList.remove('is-edge-opening'); - } - if (event.propertyName === 'opacity' && getComputedStyle(this.element.edge.primary).opacity == 0) { - - if (this.element.edge.primary.parentElement.contains(this.element.edge.primary)) { - this.element.edge.primary.parentElement.removeChild(this.element.edge.primary); + if ( + event.propertyName === 'opacity' && + getComputedStyle(this.element.edge.primary).opacity == 0 + ) { + if ( + this.element.edge.primary.parentElement.contains( + this.element.edge.primary + ) + ) { + this.element.edge.primary.parentElement.removeChild( + this.element.edge.primary + ); } this.element.edge.primary.removeAttribute('style'); @@ -65,31 +65,31 @@ export const Edge = function ({ this.element.edge.primary.classList.remove('is-edge-opening'); this.bind.remove(); - } - }); this.element.edge.secondary = []; if (secondary.length > 0) { - secondary.forEach(() => { - this.element.edge.secondary.push(node('div|class:edge-secondary is-transparent')); + this.element.edge.secondary.push( + node('div|class:edge-secondary is-transparent') + ); }); this.element.edge.secondary.forEach((item) => { - item.addEventListener('transitionend', (event) => { - - if (event.propertyName === 'opacity' && getComputedStyle(item).opacity == 1) { - + if ( + event.propertyName === 'opacity' && + getComputedStyle(item).opacity == 1 + ) { item.classList.remove('is-edge-opening'); - } - if (event.propertyName === 'opacity' && getComputedStyle(item).opacity == 0) { - + if ( + event.propertyName === 'opacity' && + getComputedStyle(item).opacity == 0 + ) { if (item.parentElement.contains(item)) { item.parentElement.removeChild(item); } @@ -97,35 +97,24 @@ export const Edge = function ({ item.removeAttribute('style'); item.classList.remove('is-edge-opening'); - } - }); - }); - } - }; this.destroy = () => { - this.element.edge.primary.classList.remove('is-opaque'); this.element.edge.primary.classList.add('is-transparent'); if (this.element.edge.secondary.length > 0) { - this.element.edge.secondary.forEach((item) => { - item.classList.remove('is-opaque'); item.classList.add('is-transparent'); - }); - } - }; this.appear = (edge) => { @@ -148,27 +137,19 @@ export const Edge = function ({ edge.classList.add('is-opaque'); edge.classList.add('is-edge-opening'); - }; this.show = () => { - this.appear(this.element.edge.primary); const body = document.querySelector('body'); if (secondary.length > 0) { - secondary.forEach((item, i) => { - if (body.contains(item)) { - this.appear(this.element.edge.secondary[i]); - } - }); - } this.track(); @@ -176,11 +157,9 @@ export const Edge = function ({ const html = document.querySelector('html'); html.classList.add('is-edge'); - }; this.hide = () => { - this.destroy(); this.bind.remove(); @@ -188,11 +167,9 @@ export const Edge = function ({ const html = document.querySelector('html'); html.classList.remove('is-edge'); - }; this.style = (elementToTrack, edge) => { - const html = document.querySelector('html'); const scrollTop = document.documentElement.scrollTop; @@ -203,55 +180,62 @@ export const Edge = function ({ const fontSize = parseInt(getComputedStyle(html).fontSize, 10); - const layoutSpace = parseFloat(getComputedStyle(html).getPropertyValue('--layout-space'), 10); + const layoutSpace = parseFloat( + getComputedStyle(html).getPropertyValue('--layout-space'), + 10 + ); const layoutSize = state.get.current().layout.size; - edge.style.width = rect.width + ((layoutSize / 100) * (((layoutSpace * fontSize) * padding) * 2)) + 'px'; - - edge.style.height = rect.height + ((layoutSize / 100) * (((layoutSpace * fontSize) * padding) * 2)) + 'px'; - - edge.style.top = rect.top + scrollTop - ((layoutSize / 100) * ((layoutSpace * fontSize) * padding)) + 'px'; - - edge.style.left = rect.left + scrollLeft - ((layoutSize / 100) * ((layoutSpace * fontSize) * padding)) + 'px'; - + edge.style.width = + rect.width + + (layoutSize / 100) * (layoutSpace * fontSize * padding * 2) + + 'px'; + + edge.style.height = + rect.height + + (layoutSize / 100) * (layoutSpace * fontSize * padding * 2) + + 'px'; + + edge.style.top = + rect.top + + scrollTop - + (layoutSize / 100) * (layoutSpace * fontSize * padding) + + 'px'; + + edge.style.left = + rect.left + + scrollLeft - + (layoutSize / 100) * (layoutSpace * fontSize * padding) + + 'px'; }; this.track = () => { - this.style(primary, this.element.edge.primary); if (secondary.length > 0) { - secondary.forEach((item, i) => { this.style(item, this.element.edge.secondary[i]); }); - } - }; this.update = { primary: (newPrimary) => { - if (newPrimary) { primary = newPrimary; } this.assemble(); - }, secondary: (newSecondary) => { - if (newSecondary) { secondary = newSecondary; } this.assemble(); - - } + }, }; this.assemble(); - }; diff --git a/src/component/fontawesome/index.css b/src/component/fontawesome/index.css index ed0f9a62..f8f14561 100644 --- a/src/component/fontawesome/index.css +++ b/src/component/fontawesome/index.css @@ -20,15 +20,15 @@ .fa-lg { font-size: 1.33333em; line-height: 0.75em; - vertical-align: -.0667em; + vertical-align: -0.0667em; } .fa-xs { - font-size: .75em; + font-size: 0.75em; } .fa-sm { - font-size: .875em; + font-size: 0.875em; } .fa-1x { @@ -82,7 +82,7 @@ padding-left: 0; } -.fa-ul>li { +.fa-ul > li { position: relative; } @@ -96,8 +96,8 @@ .fa-border { border: solid 0.08em #eee; - border-radius: .1em; - padding: .2em .25em .15em; + border-radius: 0.1em; + padding: 0.2em 0.25em 0.15em; } .fa-pull-left { @@ -113,7 +113,7 @@ .far.fa-pull-left, .fal.fa-pull-left, .fab.fa-pull-left { - margin-right: .3em; + margin-right: 0.3em; } .fa.fa-pull-right, @@ -121,7 +121,7 @@ .far.fa-pull-right, .fal.fa-pull-right, .fab.fa-pull-right { - margin-left: .3em; + margin-left: 0.3em; } .fa-spin { @@ -188,7 +188,8 @@ transform: scale(1, -1); } -.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -webkit-transform: scale(-1, -1); transform: scale(-1, -1); @@ -6038,7 +6039,8 @@ readers do not read off random characters that represent icons */ width: 1px; } -.sr-only-focusable:active, .sr-only-focusable:focus { +.sr-only-focusable:active, +.sr-only-focusable:focus { clip: auto; height: auto; margin: 0; @@ -6048,50 +6050,47 @@ readers do not read off random characters that represent icons */ } @font-face { - font-family: 'Font Awesome 5 Brands'; + font-family: "Font Awesome 5 Brands"; font-style: normal; font-weight: 400; font-display: block; - src: - url("../../font/fa/fa-brands-400.woff2") format("woff2"), + src: url("../../font/fa/fa-brands-400.woff2") format("woff2"), url("../../font/fa/fa-brands-400.woff") format("woff"), url("../../font/fa/fa-brands-400.ttf") format("truetype"); } .fab { - font-family: 'Font Awesome 5 Brands'; + font-family: "Font Awesome 5 Brands"; font-weight: 400; } @font-face { - font-family: 'Font Awesome 5 Free'; + font-family: "Font Awesome 5 Free"; font-style: normal; font-weight: 400; font-display: block; - src: - url("../../font/fa/fa-regular-400.woff2") format("woff2"), + src: url("../../font/fa/fa-regular-400.woff2") format("woff2"), url("../../font/fa/fa-regular-400.woff") format("woff"), url("../../font/fa/fa-regular-400.ttf") format("truetype"); } .far { - font-family: 'Font Awesome 5 Free'; + font-family: "Font Awesome 5 Free"; font-weight: 400; } @font-face { - font-family: 'Font Awesome 5 Free'; + font-family: "Font Awesome 5 Free"; font-style: normal; font-weight: 900; font-display: block; - src: - url("../../font/fa/fa-solid-900.woff2") format("woff2"), + src: url("../../font/fa/fa-solid-900.woff2") format("woff2"), url("../../font/fa/fa-solid-900.woff") format("woff"), url("../../font/fa/fa-solid-900.ttf") format("truetype"); } .fa, .fas { - font-family: 'Font Awesome 5 Free'; + font-family: "Font Awesome 5 Free"; font-weight: 900; } diff --git a/src/component/fontawesome/index.js b/src/component/fontawesome/index.js index 933c855f..6ba944c4 100644 --- a/src/component/fontawesome/index.js +++ b/src/component/fontawesome/index.js @@ -1,7188 +1,11096 @@ import './index.css'; -export const fontawesome = [{ - name: '500px', - search: [], - styles: ['brands'], - label: '500px' -}, { - name: 'accessible-icon', - search: ['accessibility', 'handicap', 'person', 'wheelchair', 'wheelchair-alt'], - styles: ['brands'], - label: 'Accessible Icon' -}, { - name: 'accusoft', - search: [], - styles: ['brands'], - label: 'Accusoft' -}, { - name: 'acquisitions-incorporated', - search: ['Dungeons & Dragons', 'd&d', 'dnd', 'fantasy', 'game', 'gaming', 'tabletop'], - styles: ['brands'], - label: 'Acquisitions Incorporated' -}, { - name: 'ad', - search: ['advertisement', 'media', 'newspaper', 'promotion', 'publicity'], - styles: ['solid'], - label: 'Ad' -}, { - name: 'address-book', - search: ['contact', 'directory', 'index', 'little black book', 'rolodex'], - styles: ['solid', 'regular'], - label: 'Address Book' -}, { - name: 'address-card', - search: ['about', 'contact', 'id', 'identification', 'postcard', 'profile'], - styles: ['solid', 'regular'], - label: 'Address Card' -}, { - name: 'adjust', - search: ['contrast', 'dark', 'light', 'saturation'], - styles: ['solid'], - label: 'adjust' -}, { - name: 'adn', - search: [], - styles: ['brands'], - label: 'App.net' -}, { - name: 'adobe', - search: ['acrobat', 'app', 'design', 'illustrator', 'indesign', 'photoshop'], - styles: ['brands'], - label: 'Adobe' -}, { - name: 'adversal', - search: [], - styles: ['brands'], - label: 'Adversal' -}, { - name: 'affiliatetheme', - search: [], - styles: ['brands'], - label: 'affiliatetheme' -}, { - name: 'air-freshener', - search: ['car', 'deodorize', 'fresh', 'pine', 'scent'], - styles: ['solid'], - label: 'Air Freshener' -}, { - name: 'airbnb', - search: [], - styles: ['brands'], - label: 'Airbnb' -}, { - name: 'algolia', - search: [], - styles: ['brands'], - label: 'Algolia' -}, { - name: 'align-center', - search: ['format', 'middle', 'paragraph', 'text'], - styles: ['solid'], - label: 'align-center' -}, { - name: 'align-justify', - search: ['format', 'paragraph', 'text'], - styles: ['solid'], - label: 'align-justify' -}, { - name: 'align-left', - search: ['format', 'paragraph', 'text'], - styles: ['solid'], - label: 'align-left' -}, { - name: 'align-right', - search: ['format', 'paragraph', 'text'], - styles: ['solid'], - label: 'align-right' -}, { - name: 'alipay', - search: [], - styles: ['brands'], - label: 'Alipay' -}, { - name: 'allergies', - search: ['allergy', 'freckles', 'hand', 'hives', 'pox', 'skin', 'spots'], - styles: ['solid'], - label: 'Allergies' -}, { - name: 'amazon', - search: [], - styles: ['brands'], - label: 'Amazon' -}, { - name: 'amazon-pay', - search: [], - styles: ['brands'], - label: 'Amazon Pay' -}, { - name: 'ambulance', - search: ['covid-19', 'emergency', 'emt', 'er', 'help', 'hospital', 'support', 'vehicle'], - styles: ['solid'], - label: 'ambulance' -}, { - name: 'american-sign-language-interpreting', - search: ['asl', 'deaf', 'finger', 'hand', 'interpret', 'speak'], - styles: ['solid'], - label: 'American Sign Language Interpreting' -}, { - name: 'amilia', - search: [], - styles: ['brands'], - label: 'Amilia' -}, { - name: 'anchor', - search: ['berth', 'boat', 'dock', 'embed', 'link', 'maritime', 'moor', 'secure'], - styles: ['solid'], - label: 'Anchor' -}, { - name: 'android', - search: ['robot'], - styles: ['brands'], - label: 'Android' -}, { - name: 'angellist', - search: [], - styles: ['brands'], - label: 'AngelList' -}, { - name: 'angle-double-down', - search: ['arrows', 'caret', 'download', 'expand'], - styles: ['solid'], - label: 'Angle Double Down' -}, { - name: 'angle-double-left', - search: ['arrows', 'back', 'caret', 'laquo', 'previous', 'quote'], - styles: ['solid'], - label: 'Angle Double Left' -}, { - name: 'angle-double-right', - search: ['arrows', 'caret', 'forward', 'more', 'next', 'quote', 'raquo'], - styles: ['solid'], - label: 'Angle Double Right' -}, { - name: 'angle-double-up', - search: ['arrows', 'caret', 'collapse', 'upload'], - styles: ['solid'], - label: 'Angle Double Up' -}, { - name: 'angle-down', - search: ['arrow', 'caret', 'download', 'expand'], - styles: ['solid'], - label: 'angle-down' -}, { - name: 'angle-left', - search: ['arrow', 'back', 'caret', 'less', 'previous'], - styles: ['solid'], - label: 'angle-left' -}, { - name: 'angle-right', - search: ['arrow', 'care', 'forward', 'more', 'next'], - styles: ['solid'], - label: 'angle-right' -}, { - name: 'angle-up', - search: ['arrow', 'caret', 'collapse', 'upload'], - styles: ['solid'], - label: 'angle-up' -}, { - name: 'angry', - search: ['disapprove', 'emoticon', 'face', 'mad', 'upset'], - styles: ['solid', 'regular'], - label: 'Angry Face' -}, { - name: 'angrycreative', - search: [], - styles: ['brands'], - label: 'Angry Creative' -}, { - name: 'angular', - search: [], - styles: ['brands'], - label: 'Angular' -}, { - name: 'ankh', - search: ['amulet', 'copper', 'coptic christianity', 'copts', 'crux ansata', 'egypt', 'venus'], - styles: ['solid'], - label: 'Ankh' -}, { - name: 'app-store', - search: [], - styles: ['brands'], - label: 'App Store' -}, { - name: 'app-store-ios', - search: [], - styles: ['brands'], - label: 'iOS App Store' -}, { - name: 'apper', - search: [], - styles: ['brands'], - label: 'Apper Systems AB' -}, { - name: 'apple', - search: ['fruit', 'ios', 'mac', 'operating system', 'os', 'osx'], - styles: ['brands'], - label: 'Apple' -}, { - name: 'apple-alt', - search: ['fall', 'fruit', 'fuji', 'macintosh', 'orchard', 'seasonal', 'vegan'], - styles: ['solid'], - label: 'Fruit Apple' -}, { - name: 'apple-pay', - search: [], - styles: ['brands'], - label: 'Apple Pay' -}, { - name: 'archive', - search: ['box', 'package', 'save', 'storage'], - styles: ['solid'], - label: 'Archive' -}, { - name: 'archway', - search: ['arc', 'monument', 'road', 'street', 'tunnel'], - styles: ['solid'], - label: 'Archway' -}, { - name: 'arrow-alt-circle-down', - search: ['arrow-circle-o-down', 'download'], - styles: ['solid', 'regular'], - label: 'Alternate Arrow Circle Down' -}, { - name: 'arrow-alt-circle-left', - search: ['arrow-circle-o-left', 'back', 'previous'], - styles: ['solid', 'regular'], - label: 'Alternate Arrow Circle Left' -}, { - name: 'arrow-alt-circle-right', - search: ['arrow-circle-o-right', 'forward', 'next'], - styles: ['solid', 'regular'], - label: 'Alternate Arrow Circle Right' -}, { - name: 'arrow-alt-circle-up', - search: ['arrow-circle-o-up'], - styles: ['solid', 'regular'], - label: 'Alternate Arrow Circle Up' -}, { - name: 'arrow-circle-down', - search: ['download'], - styles: ['solid'], - label: 'Arrow Circle Down' -}, { - name: 'arrow-circle-left', - search: ['back', 'previous'], - styles: ['solid'], - label: 'Arrow Circle Left' -}, { - name: 'arrow-circle-right', - search: ['forward', 'next'], - styles: ['solid'], - label: 'Arrow Circle Right' -}, { - name: 'arrow-circle-up', - search: ['upload'], - styles: ['solid'], - label: 'Arrow Circle Up' -}, { - name: 'arrow-down', - search: ['download'], - styles: ['solid'], - label: 'arrow-down' -}, { - name: 'arrow-left', - search: ['back', 'previous'], - styles: ['solid'], - label: 'arrow-left' -}, { - name: 'arrow-right', - search: ['forward', 'next'], - styles: ['solid'], - label: 'arrow-right' -}, { - name: 'arrow-up', - search: ['forward', 'upload'], - styles: ['solid'], - label: 'arrow-up' -}, { - name: 'arrows-alt', - search: ['arrow', 'arrows', 'bigger', 'enlarge', 'expand', 'fullscreen', 'move', 'position', 'reorder', 'resize'], - styles: ['solid'], - label: 'Alternate Arrows' -}, { - name: 'arrows-alt-h', - search: ['arrows-h', 'expand', 'horizontal', 'landscape', 'resize', 'wide'], - styles: ['solid'], - label: 'Alternate Arrows Horizontal' -}, { - name: 'arrows-alt-v', - search: ['arrows-v', 'expand', 'portrait', 'resize', 'tall', 'vertical'], - styles: ['solid'], - label: 'Alternate Arrows Vertical' -}, { - name: 'artstation', - search: [], - styles: ['brands'], - label: 'Artstation' -}, { - name: 'assistive-listening-systems', - search: ['amplify', 'audio', 'deaf', 'ear', 'headset', 'hearing', 'sound'], - styles: ['solid'], - label: 'Assistive Listening Systems' -}, { - name: 'asterisk', - search: ['annotation', 'details', 'reference', 'star'], - styles: ['solid'], - label: 'asterisk' -}, { - name: 'asymmetrik', - search: [], - styles: ['brands'], - label: 'Asymmetrik, Ltd.' -}, { - name: 'at', - search: ['address', 'author', 'e-mail', 'email', 'handle'], - styles: ['solid'], - label: 'At' -}, { - name: 'atlas', - search: ['book', 'directions', 'geography', 'globe', 'map', 'travel', 'wayfinding'], - styles: ['solid'], - label: 'Atlas' -}, { - name: 'atlassian', - search: [], - styles: ['brands'], - label: 'Atlassian' -}, { - name: 'atom', - search: ['atheism', 'chemistry', 'electron', 'ion', 'isotope', 'neutron', 'nuclear', 'proton', 'science'], - styles: ['solid'], - label: 'Atom' -}, { - name: 'audible', - search: [], - styles: ['brands'], - label: 'Audible' -}, { - name: 'audio-description', - search: ['blind', 'narration', 'video', 'visual'], - styles: ['solid'], - label: 'Audio Description' -}, { - name: 'autoprefixer', - search: [], - styles: ['brands'], - label: 'Autoprefixer' -}, { - name: 'avianex', - search: [], - styles: ['brands'], - label: 'avianex' -}, { - name: 'aviato', - search: [], - styles: ['brands'], - label: 'Aviato' -}, { - name: 'award', - search: ['honor', 'praise', 'prize', 'recognition', 'ribbon', 'trophy'], - styles: ['solid'], - label: 'Award' -}, { - name: 'aws', - search: [], - styles: ['brands'], - label: 'Amazon Web Services (AWS)' -}, { - name: 'baby', - search: ['child', 'diaper', 'doll', 'human', 'infant', 'kid', 'offspring', 'person', 'sprout'], - styles: ['solid'], - label: 'Baby' -}, { - name: 'baby-carriage', - search: ['buggy', 'carrier', 'infant', 'push', 'stroller', 'transportation', 'walk', 'wheels'], - styles: ['solid'], - label: 'Baby Carriage' -}, { - name: 'backspace', - search: ['command', 'delete', 'erase', 'keyboard', 'undo'], - styles: ['solid'], - label: 'Backspace' -}, { - name: 'backward', - search: ['previous', 'rewind'], - styles: ['solid'], - label: 'backward' -}, { - name: 'bacon', - search: ['blt', 'breakfast', 'ham', 'lard', 'meat', 'pancetta', 'pork', 'rasher'], - styles: ['solid'], - label: 'Bacon' -}, { - name: 'bahai', - search: ['bahai', 'bahá\'í', 'star'], - styles: ['solid'], - label: 'Bahá\'í' -}, { - name: 'balance-scale', - search: ['balanced', 'justice', 'legal', 'measure', 'weight'], - styles: ['solid'], - label: 'Balance Scale' -}, { - name: 'balance-scale-left', - search: ['justice', 'legal', 'measure', 'unbalanced', 'weight'], - styles: ['solid'], - label: 'Balance Scale (Left-Weighted)' -}, { - name: 'balance-scale-right', - search: ['justice', 'legal', 'measure', 'unbalanced', 'weight'], - styles: ['solid'], - label: 'Balance Scale (Right-Weighted)' -}, { - name: 'ban', - search: ['abort', 'ban', 'block', 'cancel', 'delete', 'hide', 'prohibit', 'remove', 'stop', 'trash'], - styles: ['solid'], - label: 'ban' -}, { - name: 'band-aid', - search: ['bandage', 'boo boo', 'first aid', 'ouch'], - styles: ['solid'], - label: 'Band-Aid' -}, { - name: 'bandcamp', - search: [], - styles: ['brands'], - label: 'Bandcamp' -}, { - name: 'barcode', - search: ['info', 'laser', 'price', 'scan', 'upc'], - styles: ['solid'], - label: 'barcode' -}, { - name: 'bars', - search: ['checklist', 'drag', 'hamburger', 'list', 'menu', 'nav', 'navigation', 'ol', 'reorder', 'settings', 'todo', 'ul'], - styles: ['solid'], - label: 'Bars' -}, { - name: 'baseball-ball', - search: ['foul', 'hardball', 'league', 'leather', 'mlb', 'softball', 'sport'], - styles: ['solid'], - label: 'Baseball Ball' -}, { - name: 'basketball-ball', - search: ['dribble', 'dunk', 'hoop', 'nba'], - styles: ['solid'], - label: 'Basketball Ball' -}, { - name: 'bath', - search: ['clean', 'shower', 'tub', 'wash'], - styles: ['solid'], - label: 'Bath' -}, { - name: 'battery-empty', - search: ['charge', 'dead', 'power', 'status'], - styles: ['solid'], - label: 'Battery Empty' -}, { - name: 'battery-full', - search: ['charge', 'power', 'status'], - styles: ['solid'], - label: 'Battery Full' -}, { - name: 'battery-half', - search: ['charge', 'power', 'status'], - styles: ['solid'], - label: 'Battery 1/2 Full' -}, { - name: 'battery-quarter', - search: ['charge', 'low', 'power', 'status'], - styles: ['solid'], - label: 'Battery 1/4 Full' -}, { - name: 'battery-three-quarters', - search: ['charge', 'power', 'status'], - styles: ['solid'], - label: 'Battery 3/4 Full' -}, { - name: 'battle-net', - search: [], - styles: ['brands'], - label: 'Battle.net' -}, { - name: 'bed', - search: ['lodging', 'mattress', 'rest', 'sleep', 'travel'], - styles: ['solid'], - label: 'Bed' -}, { - name: 'beer', - search: ['alcohol', 'ale', 'bar', 'beverage', 'brewery', 'drink', 'lager', 'liquor', 'mug', 'stein'], - styles: ['solid'], - label: 'beer' -}, { - name: 'behance', - search: [], - styles: ['brands'], - label: 'Behance' -}, { - name: 'behance-square', - search: [], - styles: ['brands'], - label: 'Behance Square' -}, { - name: 'bell', - search: ['alarm', 'alert', 'chime', 'notification', 'reminder'], - styles: ['solid', 'regular'], - label: 'bell' -}, { - name: 'bell-slash', - search: ['alert', 'cancel', 'disabled', 'notification', 'off', 'reminder'], - styles: ['solid', 'regular'], - label: 'Bell Slash' -}, { - name: 'bezier-curve', - search: ['curves', 'illustrator', 'lines', 'path', 'vector'], - styles: ['solid'], - label: 'Bezier Curve' -}, { - name: 'bible', - search: ['book', 'catholicism', 'christianity', 'god', 'holy'], - styles: ['solid'], - label: 'Bible' -}, { - name: 'bicycle', - search: ['bike', 'gears', 'pedal', 'transportation', 'vehicle'], - styles: ['solid'], - label: 'Bicycle' -}, { - name: 'biking', - search: ['bicycle', 'bike', 'cycle', 'cycling', 'ride', 'wheel'], - styles: ['solid'], - label: 'Biking' -}, { - name: 'bimobject', - search: [], - styles: ['brands'], - label: 'BIMobject' -}, { - name: 'binoculars', - search: ['glasses', 'magnify', 'scenic', 'spyglass', 'view'], - styles: ['solid'], - label: 'Binoculars' -}, { - name: 'biohazard', - search: ['covid-19', 'danger', 'dangerous', 'hazmat', 'medical', 'radioactive', 'toxic', 'waste', 'zombie'], - styles: ['solid'], - label: 'Biohazard' -}, { - name: 'birthday-cake', - search: ['anniversary', 'bakery', 'candles', 'celebration', 'dessert', 'frosting', 'holiday', 'party', 'pastry'], - styles: ['solid'], - label: 'Birthday Cake' -}, { - name: 'bitbucket', - search: ['atlassian', 'bitbucket-square', 'git'], - styles: ['brands'], - label: 'Bitbucket' -}, { - name: 'bitcoin', - search: [], - styles: ['brands'], - label: 'Bitcoin' -}, { - name: 'bity', - search: [], - styles: ['brands'], - label: 'Bity' -}, { - name: 'black-tie', - search: [], - styles: ['brands'], - label: 'Font Awesome Black Tie' -}, { - name: 'blackberry', - search: [], - styles: ['brands'], - label: 'BlackBerry' -}, { - name: 'blender', - search: ['cocktail', 'milkshake', 'mixer', 'puree', 'smoothie'], - styles: ['solid'], - label: 'Blender' -}, { - name: 'blender-phone', - search: ['appliance', 'cocktail', 'communication', 'fantasy', 'milkshake', 'mixer', 'puree', 'silly', 'smoothie'], - styles: ['solid'], - label: 'Blender Phone' -}, { - name: 'blind', - search: ['cane', 'disability', 'person', 'sight'], - styles: ['solid'], - label: 'Blind' -}, { - name: 'blog', - search: ['journal', 'log', 'online', 'personal', 'post', 'web 2.0', 'wordpress', 'writing'], - styles: ['solid'], - label: 'Blog' -}, { - name: 'blogger', - search: [], - styles: ['brands'], - label: 'Blogger' -}, { - name: 'blogger-b', - search: [], - styles: ['brands'], - label: 'Blogger B' -}, { - name: 'bluetooth', - search: [], - styles: ['brands'], - label: 'Bluetooth' -}, { - name: 'bluetooth-b', - search: [], - styles: ['brands'], - label: 'Bluetooth' -}, { - name: 'bold', - search: ['emphasis', 'format', 'text'], - styles: ['solid'], - label: 'bold' -}, { - name: 'bolt', - search: ['electricity', 'lightning', 'weather', 'zap'], - styles: ['solid'], - label: 'Lightning Bolt' -}, { - name: 'bomb', - search: ['error', 'explode', 'fuse', 'grenade', 'warning'], - styles: ['solid'], - label: 'Bomb' -}, { - name: 'bone', - search: ['calcium', 'dog', 'skeletal', 'skeleton', 'tibia'], - styles: ['solid'], - label: 'Bone' -}, { - name: 'bong', - search: ['aparatus', 'cannabis', 'marijuana', 'pipe', 'smoke', 'smoking'], - styles: ['solid'], - label: 'Bong' -}, { - name: 'book', - search: ['diary', 'documentation', 'journal', 'library', 'read'], - styles: ['solid'], - label: 'book' -}, { - name: 'book-dead', - search: ['Dungeons & Dragons', 'crossbones', 'd&d', 'dark arts', 'death', 'dnd', 'documentation', 'evil', 'fantasy', 'halloween', 'holiday', 'necronomicon', 'read', 'skull', 'spell'], - styles: ['solid'], - label: 'Book of the Dead' -}, { - name: 'book-medical', - search: ['diary', 'documentation', 'health', 'history', 'journal', 'library', 'read', 'record'], - styles: ['solid'], - label: 'Medical Book' -}, { - name: 'book-open', - search: ['flyer', 'library', 'notebook', 'open book', 'pamphlet', 'reading'], - styles: ['solid'], - label: 'Book Open' -}, { - name: 'book-reader', - search: ['flyer', 'library', 'notebook', 'open book', 'pamphlet', 'reading'], - styles: ['solid'], - label: 'Book Reader' -}, { - name: 'bookmark', - search: ['favorite', 'marker', 'read', 'remember', 'save'], - styles: ['solid', 'regular'], - label: 'bookmark' -}, { - name: 'bootstrap', - search: [], - styles: ['brands'], - label: 'Bootstrap' -}, { - name: 'border-all', - search: ['cell', 'grid', 'outline', 'stroke', 'table'], - styles: ['solid'], - label: 'Border All' -}, { - name: 'border-none', - search: ['cell', 'grid', 'outline', 'stroke', 'table'], - styles: ['solid'], - label: 'Border None' -}, { - name: 'border-style', - search: [], - styles: ['solid'], - label: 'Border Style' -}, { - name: 'bowling-ball', - search: ['alley', 'candlepin', 'gutter', 'lane', 'strike', 'tenpin'], - styles: ['solid'], - label: 'Bowling Ball' -}, { - name: 'box', - search: ['archive', 'container', 'package', 'storage'], - styles: ['solid'], - label: 'Box' -}, { - name: 'box-open', - search: ['archive', 'container', 'package', 'storage', 'unpack'], - styles: ['solid'], - label: 'Box Open' -}, { - name: 'box-tissue', - search: ['cough', 'covid-19', 'kleenex', 'mucus', 'nose', 'sneeze', 'snot'], - styles: ['solid'], - label: 'Tissue Box' -}, { - name: 'boxes', - search: ['archives', 'inventory', 'storage', 'warehouse'], - styles: ['solid'], - label: 'Boxes' -}, { - name: 'braille', - search: ['alphabet', 'blind', 'dots', 'raised', 'vision'], - styles: ['solid'], - label: 'Braille' -}, { - name: 'brain', - search: ['cerebellum', 'gray matter', 'intellect', 'medulla oblongata', 'mind', 'noodle', 'wit'], - styles: ['solid'], - label: 'Brain' -}, { - name: 'bread-slice', - search: ['bake', 'bakery', 'baking', 'dough', 'flour', 'gluten', 'grain', 'sandwich', 'sourdough', 'toast', 'wheat', 'yeast'], - styles: ['solid'], - label: 'Bread Slice' -}, { - name: 'briefcase', - search: ['bag', 'business', 'luggage', 'office', 'work'], - styles: ['solid'], - label: 'Briefcase' -}, { - name: 'briefcase-medical', - search: ['doctor', 'emt', 'first aid', 'health'], - styles: ['solid'], - label: 'Medical Briefcase' -}, { - name: 'broadcast-tower', - search: ['airwaves', 'antenna', 'radio', 'reception', 'waves'], - styles: ['solid'], - label: 'Broadcast Tower' -}, { - name: 'broom', - search: ['clean', 'firebolt', 'fly', 'halloween', 'nimbus 2000', 'quidditch', 'sweep', 'witch'], - styles: ['solid'], - label: 'Broom' -}, { - name: 'brush', - search: ['art', 'bristles', 'color', 'handle', 'paint'], - styles: ['solid'], - label: 'Brush' -}, { - name: 'btc', - search: [], - styles: ['brands'], - label: 'BTC' -}, { - name: 'buffer', - search: [], - styles: ['brands'], - label: 'Buffer' -}, { - name: 'bug', - search: ['beetle', 'error', 'insect', 'report'], - styles: ['solid'], - label: 'Bug' -}, { - name: 'building', - search: ['apartment', 'business', 'city', 'company', 'office', 'work'], - styles: ['solid', 'regular'], - label: 'Building' -}, { - name: 'bullhorn', - search: ['announcement', 'broadcast', 'louder', 'megaphone', 'share'], - styles: ['solid'], - label: 'bullhorn' -}, { - name: 'bullseye', - search: ['archery', 'goal', 'objective', 'target'], - styles: ['solid'], - label: 'Bullseye' -}, { - name: 'burn', - search: ['caliente', 'energy', 'fire', 'flame', 'gas', 'heat', 'hot'], - styles: ['solid'], - label: 'Burn' -}, { - name: 'buromobelexperte', - search: [], - styles: ['brands'], - label: 'Büromöbel-Experte GmbH & Co. KG.' -}, { - name: 'bus', - search: ['public transportation', 'transportation', 'travel', 'vehicle'], - styles: ['solid'], - label: 'Bus' -}, { - name: 'bus-alt', - search: ['mta', 'public transportation', 'transportation', 'travel', 'vehicle'], - styles: ['solid'], - label: 'Bus Alt' -}, { - name: 'business-time', - search: ['alarm', 'briefcase', 'business socks', 'clock', 'flight of the conchords', 'reminder', 'wednesday'], - styles: ['solid'], - label: 'Business Time' -}, { - name: 'buy-n-large', - search: [], - styles: ['brands'], - label: 'Buy n Large' -}, { - name: 'buysellads', - search: [], - styles: ['brands'], - label: 'BuySellAds' -}, { - name: 'calculator', - search: ['abacus', 'addition', 'arithmetic', 'counting', 'math', 'multiplication', 'subtraction'], - styles: ['solid'], - label: 'Calculator' -}, { - name: 'calendar', - search: ['calendar-o', 'date', 'event', 'schedule', 'time', 'when'], - styles: ['solid', 'regular'], - label: 'Calendar' -}, { - name: 'calendar-alt', - search: ['calendar', 'date', 'event', 'schedule', 'time', 'when'], - styles: ['solid', 'regular'], - label: 'Alternate Calendar' -}, { - name: 'calendar-check', - search: ['accept', 'agree', 'appointment', 'confirm', 'correct', 'date', 'done', 'event', 'ok', 'schedule', 'select', 'success', 'tick', 'time', 'todo', 'when'], - styles: ['solid', 'regular'], - label: 'Calendar Check' -}, { - name: 'calendar-day', - search: ['date', 'detail', 'event', 'focus', 'schedule', 'single day', 'time', 'today', 'when'], - styles: ['solid'], - label: 'Calendar with Day Focus' -}, { - name: 'calendar-minus', - search: ['calendar', 'date', 'delete', 'event', 'negative', 'remove', 'schedule', 'time', 'when'], - styles: ['solid', 'regular'], - label: 'Calendar Minus' -}, { - name: 'calendar-plus', - search: ['add', 'calendar', 'create', 'date', 'event', 'new', 'positive', 'schedule', 'time', 'when'], - styles: ['solid', 'regular'], - label: 'Calendar Plus' -}, { - name: 'calendar-times', - search: ['archive', 'calendar', 'date', 'delete', 'event', 'remove', 'schedule', 'time', 'when', 'x'], - styles: ['solid', 'regular'], - label: 'Calendar Times' -}, { - name: 'calendar-week', - search: ['date', 'detail', 'event', 'focus', 'schedule', 'single week', 'time', 'today', 'when'], - styles: ['solid'], - label: 'Calendar with Week Focus' -}, { - name: 'camera', - search: ['image', 'lens', 'photo', 'picture', 'record', 'shutter', 'video'], - styles: ['solid'], - label: 'camera' -}, { - name: 'camera-retro', - search: ['image', 'lens', 'photo', 'picture', 'record', 'shutter', 'video'], - styles: ['solid'], - label: 'Retro Camera' -}, { - name: 'campground', - search: ['camping', 'fall', 'outdoors', 'teepee', 'tent', 'tipi'], - styles: ['solid'], - label: 'Campground' -}, { - name: 'canadian-maple-leaf', - search: ['canada', 'flag', 'flora', 'nature', 'plant'], - styles: ['brands'], - label: 'Canadian Maple Leaf' -}, { - name: 'candy-cane', - search: ['candy', 'christmas', 'holiday', 'mint', 'peppermint', 'striped', 'xmas'], - styles: ['solid'], - label: 'Candy Cane' -}, { - name: 'cannabis', - search: ['bud', 'chronic', 'drugs', 'endica', 'endo', 'ganja', 'marijuana', 'mary jane', 'pot', 'reefer', 'sativa', 'spliff', 'weed', 'whacky-tabacky'], - styles: ['solid'], - label: 'Cannabis' -}, { - name: 'capsules', - search: ['drugs', 'medicine', 'pills', 'prescription'], - styles: ['solid'], - label: 'Capsules' -}, { - name: 'car', - search: ['auto', 'automobile', 'sedan', 'transportation', 'travel', 'vehicle'], - styles: ['solid'], - label: 'Car' -}, { - name: 'car-alt', - search: ['auto', 'automobile', 'sedan', 'transportation', 'travel', 'vehicle'], - styles: ['solid'], - label: 'Alternate Car' -}, { - name: 'car-battery', - search: ['auto', 'electric', 'mechanic', 'power'], - styles: ['solid'], - label: 'Car Battery' -}, { - name: 'car-crash', - search: ['accident', 'auto', 'automobile', 'insurance', 'sedan', 'transportation', 'vehicle', 'wreck'], - styles: ['solid'], - label: 'Car Crash' -}, { - name: 'car-side', - search: ['auto', 'automobile', 'sedan', 'transportation', 'travel', 'vehicle'], - styles: ['solid'], - label: 'Car Side' -}, { - name: 'caravan', - search: ['camper', 'motor home', 'rv', 'trailer', 'travel'], - styles: ['solid'], - label: 'Caravan' -}, { - name: 'caret-down', - search: ['arrow', 'dropdown', 'expand', 'menu', 'more', 'triangle'], - styles: ['solid'], - label: 'Caret Down' -}, { - name: 'caret-left', - search: ['arrow', 'back', 'previous', 'triangle'], - styles: ['solid'], - label: 'Caret Left' -}, { - name: 'caret-right', - search: ['arrow', 'forward', 'next', 'triangle'], - styles: ['solid'], - label: 'Caret Right' -}, { - name: 'caret-square-down', - search: ['arrow', 'caret-square-o-down', 'dropdown', 'expand', 'menu', 'more', 'triangle'], - styles: ['solid', 'regular'], - label: 'Caret Square Down' -}, { - name: 'caret-square-left', - search: ['arrow', 'back', 'caret-square-o-left', 'previous', 'triangle'], - styles: ['solid', 'regular'], - label: 'Caret Square Left' -}, { - name: 'caret-square-right', - search: ['arrow', 'caret-square-o-right', 'forward', 'next', 'triangle'], - styles: ['solid', 'regular'], - label: 'Caret Square Right' -}, { - name: 'caret-square-up', - search: ['arrow', 'caret-square-o-up', 'collapse', 'triangle', 'upload'], - styles: ['solid', 'regular'], - label: 'Caret Square Up' -}, { - name: 'caret-up', - search: ['arrow', 'collapse', 'triangle'], - styles: ['solid'], - label: 'Caret Up' -}, { - name: 'carrot', - search: ['bugs bunny', 'orange', 'vegan', 'vegetable'], - styles: ['solid'], - label: 'Carrot' -}, { - name: 'cart-arrow-down', - search: ['download', 'save', 'shopping'], - styles: ['solid'], - label: 'Shopping Cart Arrow Down' -}, { - name: 'cart-plus', - search: ['add', 'create', 'new', 'positive', 'shopping'], - styles: ['solid'], - label: 'Add to Shopping Cart' -}, { - name: 'cash-register', - search: ['buy', 'cha-ching', 'change', 'checkout', 'commerce', 'leaerboard', 'machine', 'pay', 'payment', 'purchase', 'store'], - styles: ['solid'], - label: 'Cash Register' -}, { - name: 'cat', - search: ['feline', 'halloween', 'holiday', 'kitten', 'kitty', 'meow', 'pet'], - styles: ['solid'], - label: 'Cat' -}, { - name: 'cc-amazon-pay', - search: [], - styles: ['brands'], - label: 'Amazon Pay Credit Card' -}, { - name: 'cc-amex', - search: ['amex'], - styles: ['brands'], - label: 'American Express Credit Card' -}, { - name: 'cc-apple-pay', - search: [], - styles: ['brands'], - label: 'Apple Pay Credit Card' -}, { - name: 'cc-diners-club', - search: [], - styles: ['brands'], - label: 'Diner\'s Club Credit Card' -}, { - name: 'cc-discover', - search: [], - styles: ['brands'], - label: 'Discover Credit Card' -}, { - name: 'cc-jcb', - search: [], - styles: ['brands'], - label: 'JCB Credit Card' -}, { - name: 'cc-mastercard', - search: [], - styles: ['brands'], - label: 'MasterCard Credit Card' -}, { - name: 'cc-paypal', - search: [], - styles: ['brands'], - label: 'Paypal Credit Card' -}, { - name: 'cc-stripe', - search: [], - styles: ['brands'], - label: 'Stripe Credit Card' -}, { - name: 'cc-visa', - search: [], - styles: ['brands'], - label: 'Visa Credit Card' -}, { - name: 'centercode', - search: [], - styles: ['brands'], - label: 'Centercode' -}, { - name: 'centos', - search: ['linux', 'operating system', 'os'], - styles: ['brands'], - label: 'Centos' -}, { - name: 'certificate', - search: ['badge', 'star', 'verified'], - styles: ['solid'], - label: 'certificate' -}, { - name: 'chair', - search: ['furniture', 'seat', 'sit'], - styles: ['solid'], - label: 'Chair' -}, { - name: 'chalkboard', - search: ['blackboard', 'learning', 'school', 'teaching', 'whiteboard', 'writing'], - styles: ['solid'], - label: 'Chalkboard' -}, { - name: 'chalkboard-teacher', - search: ['blackboard', 'instructor', 'learning', 'professor', 'school', 'whiteboard', 'writing'], - styles: ['solid'], - label: 'Chalkboard Teacher' -}, { - name: 'charging-station', - search: ['electric', 'ev', 'tesla', 'vehicle'], - styles: ['solid'], - label: 'Charging Station' -}, { - name: 'chart-area', - search: ['analytics', 'area', 'chart', 'graph'], - styles: ['solid'], - label: 'Area Chart' -}, { - name: 'chart-bar', - search: ['analytics', 'bar', 'chart', 'graph'], - styles: ['solid', 'regular'], - label: 'Bar Chart' -}, { - name: 'chart-line', - search: ['activity', 'analytics', 'chart', 'dashboard', 'gain', 'graph', 'increase', 'line'], - styles: ['solid'], - label: 'Line Chart' -}, { - name: 'chart-pie', - search: ['analytics', 'chart', 'diagram', 'graph', 'pie'], - styles: ['solid'], - label: 'Pie Chart' -}, { - name: 'check', - search: ['accept', 'agree', 'checkmark', 'confirm', 'correct', 'done', 'notice', 'notification', 'notify', 'ok', 'select', 'success', 'tick', 'todo', 'yes'], - styles: ['solid'], - label: 'Check' -}, { - name: 'check-circle', - search: ['accept', 'agree', 'confirm', 'correct', 'done', 'ok', 'select', 'success', 'tick', 'todo', 'yes'], - styles: ['solid', 'regular'], - label: 'Check Circle' -}, { - name: 'check-double', - search: ['accept', 'agree', 'checkmark', 'confirm', 'correct', 'done', 'notice', 'notification', 'notify', 'ok', 'select', 'success', 'tick', 'todo'], - styles: ['solid'], - label: 'Double Check' -}, { - name: 'check-square', - search: ['accept', 'agree', 'checkmark', 'confirm', 'correct', 'done', 'ok', 'select', 'success', 'tick', 'todo', 'yes'], - styles: ['solid', 'regular'], - label: 'Check Square' -}, { - name: 'cheese', - search: ['cheddar', 'curd', 'gouda', 'melt', 'parmesan', 'sandwich', 'swiss', 'wedge'], - styles: ['solid'], - label: 'Cheese' -}, { - name: 'chess', - search: ['board', 'castle', 'checkmate', 'game', 'king', 'rook', 'strategy', 'tournament'], - styles: ['solid'], - label: 'Chess' -}, { - name: 'chess-bishop', - search: ['board', 'checkmate', 'game', 'strategy'], - styles: ['solid'], - label: 'Chess Bishop' -}, { - name: 'chess-board', - search: ['board', 'checkmate', 'game', 'strategy'], - styles: ['solid'], - label: 'Chess Board' -}, { - name: 'chess-king', - search: ['board', 'checkmate', 'game', 'strategy'], - styles: ['solid'], - label: 'Chess King' -}, { - name: 'chess-knight', - search: ['board', 'checkmate', 'game', 'horse', 'strategy'], - styles: ['solid'], - label: 'Chess Knight' -}, { - name: 'chess-pawn', - search: ['board', 'checkmate', 'game', 'strategy'], - styles: ['solid'], - label: 'Chess Pawn' -}, { - name: 'chess-queen', - search: ['board', 'checkmate', 'game', 'strategy'], - styles: ['solid'], - label: 'Chess Queen' -}, { - name: 'chess-rook', - search: ['board', 'castle', 'checkmate', 'game', 'strategy'], - styles: ['solid'], - label: 'Chess Rook' -}, { - name: 'chevron-circle-down', - search: ['arrow', 'download', 'dropdown', 'menu', 'more'], - styles: ['solid'], - label: 'Chevron Circle Down' -}, { - name: 'chevron-circle-left', - search: ['arrow', 'back', 'previous'], - styles: ['solid'], - label: 'Chevron Circle Left' -}, { - name: 'chevron-circle-right', - search: ['arrow', 'forward', 'next'], - styles: ['solid'], - label: 'Chevron Circle Right' -}, { - name: 'chevron-circle-up', - search: ['arrow', 'collapse', 'upload'], - styles: ['solid'], - label: 'Chevron Circle Up' -}, { - name: 'chevron-down', - search: ['arrow', 'download', 'expand'], - styles: ['solid'], - label: 'chevron-down' -}, { - name: 'chevron-left', - search: ['arrow', 'back', 'bracket', 'previous'], - styles: ['solid'], - label: 'chevron-left' -}, { - name: 'chevron-right', - search: ['arrow', 'bracket', 'forward', 'next'], - styles: ['solid'], - label: 'chevron-right' -}, { - name: 'chevron-up', - search: ['arrow', 'collapse', 'upload'], - styles: ['solid'], - label: 'chevron-up' -}, { - name: 'child', - search: ['boy', 'girl', 'kid', 'toddler', 'young'], - styles: ['solid'], - label: 'Child' -}, { - name: 'chrome', - search: ['browser'], - styles: ['brands'], - label: 'Chrome' -}, { - name: 'chromecast', - search: [], - styles: ['brands'], - label: 'Chromecast' -}, { - name: 'church', - search: ['building', 'cathedral', 'chapel', 'community', 'religion'], - styles: ['solid'], - label: 'Church' -}, { - name: 'circle', - search: ['circle-thin', 'diameter', 'dot', 'ellipse', 'notification', 'round'], - styles: ['solid', 'regular'], - label: 'Circle' -}, { - name: 'circle-notch', - search: ['circle-o-notch', 'diameter', 'dot', 'ellipse', 'round', 'spinner'], - styles: ['solid'], - label: 'Circle Notched' -}, { - name: 'city', - search: ['buildings', 'busy', 'skyscrapers', 'urban', 'windows'], - styles: ['solid'], - label: 'City' -}, { - name: 'clinic-medical', - search: ['covid-19', 'doctor', 'general practitioner', 'hospital', 'infirmary', 'medicine', 'office', 'outpatient'], - styles: ['solid'], - label: 'Medical Clinic' -}, { - name: 'clipboard', - search: ['copy', 'notes', 'paste', 'record'], - styles: ['solid', 'regular'], - label: 'Clipboard' -}, { - name: 'clipboard-check', - search: ['accept', 'agree', 'confirm', 'done', 'ok', 'select', 'success', 'tick', 'todo', 'yes'], - styles: ['solid'], - label: 'Clipboard with Check' -}, { - name: 'clipboard-list', - search: ['checklist', 'completed', 'done', 'finished', 'intinerary', 'ol', 'schedule', 'tick', 'todo', 'ul'], - styles: ['solid'], - label: 'Clipboard List' -}, { - name: 'clock', - search: ['date', 'late', 'schedule', 'time', 'timer', 'timestamp', 'watch'], - styles: ['solid', 'regular'], - label: 'Clock' -}, { - name: 'clone', - search: ['arrange', 'copy', 'duplicate', 'paste'], - styles: ['solid', 'regular'], - label: 'Clone' -}, { - name: 'closed-captioning', - search: ['cc', 'deaf', 'hearing', 'subtitle', 'subtitling', 'text', 'video'], - styles: ['solid', 'regular'], - label: 'Closed Captioning' -}, { - name: 'cloud', - search: ['atmosphere', 'fog', 'overcast', 'save', 'upload', 'weather'], - styles: ['solid'], - label: 'Cloud' -}, { - name: 'cloud-download-alt', - search: ['download', 'export', 'save'], - styles: ['solid'], - label: 'Alternate Cloud Download' -}, { - name: 'cloud-meatball', - search: ['FLDSMDFR', 'food', 'spaghetti', 'storm'], - styles: ['solid'], - label: 'Cloud with (a chance of) Meatball' -}, { - name: 'cloud-moon', - search: ['crescent', 'evening', 'lunar', 'night', 'partly cloudy', 'sky'], - styles: ['solid'], - label: 'Cloud with Moon' -}, { - name: 'cloud-moon-rain', - search: ['crescent', 'evening', 'lunar', 'night', 'partly cloudy', 'precipitation', 'rain', 'sky', 'storm'], - styles: ['solid'], - label: 'Cloud with Moon and Rain' -}, { - name: 'cloud-rain', - search: ['precipitation', 'rain', 'sky', 'storm'], - styles: ['solid'], - label: 'Cloud with Rain' -}, { - name: 'cloud-showers-heavy', - search: ['precipitation', 'rain', 'sky', 'storm'], - styles: ['solid'], - label: 'Cloud with Heavy Showers' -}, { - name: 'cloud-sun', - search: ['clear', 'day', 'daytime', 'fall', 'outdoors', 'overcast', 'partly cloudy'], - styles: ['solid'], - label: 'Cloud with Sun' -}, { - name: 'cloud-sun-rain', - search: ['day', 'overcast', 'precipitation', 'storm', 'summer', 'sunshower'], - styles: ['solid'], - label: 'Cloud with Sun and Rain' -}, { - name: 'cloud-upload-alt', - search: ['cloud-upload', 'import', 'save', 'upload'], - styles: ['solid'], - label: 'Alternate Cloud Upload' -}, { - name: 'cloudscale', - search: [], - styles: ['brands'], - label: 'cloudscale.ch' -}, { - name: 'cloudsmith', - search: [], - styles: ['brands'], - label: 'Cloudsmith' -}, { - name: 'cloudversify', - search: [], - styles: ['brands'], - label: 'cloudversify' -}, { - name: 'cocktail', - search: ['alcohol', 'beverage', 'drink', 'gin', 'glass', 'margarita', 'martini', 'vodka'], - styles: ['solid'], - label: 'Cocktail' -}, { - name: 'code', - search: ['brackets', 'code', 'development', 'html'], - styles: ['solid'], - label: 'Code' -}, { - name: 'code-branch', - search: ['branch', 'code-fork', 'fork', 'git', 'github', 'rebase', 'svn', 'vcs', 'version'], - styles: ['solid'], - label: 'Code Branch' -}, { - name: 'codepen', - search: [], - styles: ['brands'], - label: 'Codepen' -}, { - name: 'codiepie', - search: [], - styles: ['brands'], - label: 'Codie Pie' -}, { - name: 'coffee', - search: ['beverage', 'breakfast', 'cafe', 'drink', 'fall', 'morning', 'mug', 'seasonal', 'tea'], - styles: ['solid'], - label: 'Coffee' -}, { - name: 'cog', - search: ['gear', 'mechanical', 'settings', 'sprocket', 'wheel'], - styles: ['solid'], - label: 'cog' -}, { - name: 'cogs', - search: ['gears', 'mechanical', 'settings', 'sprocket', 'wheel'], - styles: ['solid'], - label: 'cogs' -}, { - name: 'coins', - search: ['currency', 'dime', 'financial', 'gold', 'money', 'penny'], - styles: ['solid'], - label: 'Coins' -}, { - name: 'columns', - search: ['browser', 'dashboard', 'organize', 'panes', 'split'], - styles: ['solid'], - label: 'Columns' -}, { - name: 'comment', - search: ['bubble', 'chat', 'commenting', 'conversation', 'feedback', 'message', 'note', 'notification', 'sms', 'speech', 'texting'], - styles: ['solid', 'regular'], - label: 'comment' -}, { - name: 'comment-alt', - search: ['bubble', 'chat', 'commenting', 'conversation', 'feedback', 'message', 'note', 'notification', 'sms', 'speech', 'texting'], - styles: ['solid', 'regular'], - label: 'Alternate Comment' -}, { - name: 'comment-dollar', - search: ['bubble', 'chat', 'commenting', 'conversation', 'feedback', 'message', 'money', 'note', 'notification', 'pay', 'sms', 'speech', 'spend', 'texting', 'transfer'], - styles: ['solid'], - label: 'Comment Dollar' -}, { - name: 'comment-dots', - search: ['bubble', 'chat', 'commenting', 'conversation', 'feedback', 'message', 'more', 'note', 'notification', 'reply', 'sms', 'speech', 'texting'], - styles: ['solid', 'regular'], - label: 'Comment Dots' -}, { - name: 'comment-medical', - search: ['advice', 'bubble', 'chat', 'commenting', 'conversation', 'diagnose', 'feedback', 'message', 'note', 'notification', 'prescription', 'sms', 'speech', 'texting'], - styles: ['solid'], - label: 'Alternate Medical Chat' -}, { - name: 'comment-slash', - search: ['bubble', 'cancel', 'chat', 'commenting', 'conversation', 'feedback', 'message', 'mute', 'note', 'notification', 'quiet', 'sms', 'speech', 'texting'], - styles: ['solid'], - label: 'Comment Slash' -}, { - name: 'comments', - search: ['bubble', 'chat', 'commenting', 'conversation', 'feedback', 'message', 'note', 'notification', 'sms', 'speech', 'texting'], - styles: ['solid', 'regular'], - label: 'comments' -}, { - name: 'comments-dollar', - search: ['bubble', 'chat', 'commenting', 'conversation', 'feedback', 'message', 'money', 'note', 'notification', 'pay', 'sms', 'speech', 'spend', 'texting', 'transfer'], - styles: ['solid'], - label: 'Comments Dollar' -}, { - name: 'compact-disc', - search: ['album', 'bluray', 'cd', 'disc', 'dvd', 'media', 'movie', 'music', 'record', 'video', 'vinyl'], - styles: ['solid'], - label: 'Compact Disc' -}, { - name: 'compass', - search: ['directions', 'directory', 'location', 'menu', 'navigation', 'safari', 'travel'], - styles: ['solid', 'regular'], - label: 'Compass' -}, { - name: 'compress', - search: ['collapse', 'fullscreen', 'minimize', 'move', 'resize', 'shrink', 'smaller'], - styles: ['solid'], - label: 'Compress' -}, { - name: 'compress-alt', - search: ['collapse', 'fullscreen', 'minimize', 'move', 'resize', 'shrink', 'smaller'], - styles: ['solid'], - label: 'Alternate Compress' -}, { - name: 'compress-arrows-alt', - search: ['collapse', 'fullscreen', 'minimize', 'move', 'resize', 'shrink', 'smaller'], - styles: ['solid'], - label: 'Alternate Compress Arrows' -}, { - name: 'concierge-bell', - search: ['attention', 'hotel', 'receptionist', 'service', 'support'], - styles: ['solid'], - label: 'Concierge Bell' -}, { - name: 'confluence', - search: ['atlassian'], - styles: ['brands'], - label: 'Confluence' -}, { - name: 'connectdevelop', - search: [], - styles: ['brands'], - label: 'Connect Develop' -}, { - name: 'contao', - search: [], - styles: ['brands'], - label: 'Contao' -}, { - name: 'cookie', - search: ['baked good', 'chips', 'chocolate', 'eat', 'snack', 'sweet', 'treat'], - styles: ['solid'], - label: 'Cookie' -}, { - name: 'cookie-bite', - search: ['baked good', 'bitten', 'chips', 'chocolate', 'eat', 'snack', 'sweet', 'treat'], - styles: ['solid'], - label: 'Cookie Bite' -}, { - name: 'copy', - search: ['clone', 'duplicate', 'file', 'files-o', 'paper', 'paste'], - styles: ['solid', 'regular'], - label: 'Copy' -}, { - name: 'copyright', - search: ['brand', 'mark', 'register', 'trademark'], - styles: ['solid', 'regular'], - label: 'Copyright' -}, { - name: 'cotton-bureau', - search: ['clothing', 't-shirts', 'tshirts'], - styles: ['brands'], - label: 'Cotton Bureau' -}, { - name: 'couch', - search: ['chair', 'cushion', 'furniture', 'relax', 'sofa'], - styles: ['solid'], - label: 'Couch' -}, { - name: 'cpanel', - search: [], - styles: ['brands'], - label: 'cPanel' -}, { - name: 'creative-commons', - search: [], - styles: ['brands'], - label: 'Creative Commons' -}, { - name: 'creative-commons-by', - search: [], - styles: ['brands'], - label: 'Creative Commons Attribution' -}, { - name: 'creative-commons-nc', - search: [], - styles: ['brands'], - label: 'Creative Commons Noncommercial' -}, { - name: 'creative-commons-nc-eu', - search: [], - styles: ['brands'], - label: 'Creative Commons Noncommercial (Euro Sign)' -}, { - name: 'creative-commons-nc-jp', - search: [], - styles: ['brands'], - label: 'Creative Commons Noncommercial (Yen Sign)' -}, { - name: 'creative-commons-nd', - search: [], - styles: ['brands'], - label: 'Creative Commons No Derivative Works' -}, { - name: 'creative-commons-pd', - search: [], - styles: ['brands'], - label: 'Creative Commons Public Domain' -}, { - name: 'creative-commons-pd-alt', - search: [], - styles: ['brands'], - label: 'Alternate Creative Commons Public Domain' -}, { - name: 'creative-commons-remix', - search: [], - styles: ['brands'], - label: 'Creative Commons Remix' -}, { - name: 'creative-commons-sa', - search: [], - styles: ['brands'], - label: 'Creative Commons Share Alike' -}, { - name: 'creative-commons-sampling', - search: [], - styles: ['brands'], - label: 'Creative Commons Sampling' -}, { - name: 'creative-commons-sampling-plus', - search: [], - styles: ['brands'], - label: 'Creative Commons Sampling +' -}, { - name: 'creative-commons-share', - search: [], - styles: ['brands'], - label: 'Creative Commons Share' -}, { - name: 'creative-commons-zero', - search: [], - styles: ['brands'], - label: 'Creative Commons CC0' -}, { - name: 'credit-card', - search: ['buy', 'checkout', 'credit-card-alt', 'debit', 'money', 'payment', 'purchase'], - styles: ['solid', 'regular'], - label: 'Credit Card' -}, { - name: 'critical-role', - search: ['Dungeons & Dragons', 'd&d', 'dnd', 'fantasy', 'game', 'gaming', 'tabletop'], - styles: ['brands'], - label: 'Critical Role' -}, { - name: 'crop', - search: ['design', 'frame', 'mask', 'resize', 'shrink'], - styles: ['solid'], - label: 'crop' -}, { - name: 'crop-alt', - search: ['design', 'frame', 'mask', 'resize', 'shrink'], - styles: ['solid'], - label: 'Alternate Crop' -}, { - name: 'cross', - search: ['catholicism', 'christianity', 'church', 'jesus'], - styles: ['solid'], - label: 'Cross' -}, { - name: 'crosshairs', - search: ['aim', 'bullseye', 'gpd', 'picker', 'position'], - styles: ['solid'], - label: 'Crosshairs' -}, { - name: 'crow', - search: ['bird', 'bullfrog', 'fauna', 'halloween', 'holiday', 'toad'], - styles: ['solid'], - label: 'Crow' -}, { - name: 'crown', - search: ['award', 'favorite', 'king', 'queen', 'royal', 'tiara'], - styles: ['solid'], - label: 'Crown' -}, { - name: 'crutch', - search: ['cane', 'injury', 'mobility', 'wheelchair'], - styles: ['solid'], - label: 'Crutch' -}, { - name: 'css3', - search: ['code'], - styles: ['brands'], - label: 'CSS 3 Logo' -}, { - name: 'css3-alt', - search: [], - styles: ['brands'], - label: 'Alternate CSS3 Logo' -}, { - name: 'cube', - search: ['3d', 'block', 'dice', 'package', 'square', 'tesseract'], - styles: ['solid'], - label: 'Cube' -}, { - name: 'cubes', - search: ['3d', 'block', 'dice', 'package', 'pyramid', 'square', 'stack', 'tesseract'], - styles: ['solid'], - label: 'Cubes' -}, { - name: 'cut', - search: ['clip', 'scissors', 'snip'], - styles: ['solid'], - label: 'Cut' -}, { - name: 'cuttlefish', - search: [], - styles: ['brands'], - label: 'Cuttlefish' -}, { - name: 'd-and-d', - search: [], - styles: ['brands'], - label: 'Dungeons & Dragons' -}, { - name: 'd-and-d-beyond', - search: ['Dungeons & Dragons', 'd&d', 'dnd', 'fantasy', 'gaming', 'tabletop'], - styles: ['brands'], - label: 'D&D Beyond' -}, { - name: 'dailymotion', - search: [], - styles: ['brands'], - label: 'dailymotion' -}, { - name: 'dashcube', - search: [], - styles: ['brands'], - label: 'DashCube' -}, { - name: 'database', - search: ['computer', 'development', 'directory', 'memory', 'storage'], - styles: ['solid'], - label: 'Database' -}, { - name: 'deaf', - search: ['ear', 'hearing', 'sign language'], - styles: ['solid'], - label: 'Deaf' -}, { - name: 'delicious', - search: [], - styles: ['brands'], - label: 'Delicious' -}, { - name: 'democrat', - search: ['american', 'democratic party', 'donkey', 'election', 'left', 'left-wing', 'liberal', 'politics', 'usa'], - styles: ['solid'], - label: 'Democrat' -}, { - name: 'deploydog', - search: [], - styles: ['brands'], - label: 'deploy.dog' -}, { - name: 'deskpro', - search: [], - styles: ['brands'], - label: 'Deskpro' -}, { - name: 'desktop', - search: ['computer', 'cpu', 'demo', 'desktop', 'device', 'imac', 'machine', 'monitor', 'pc', 'screen'], - styles: ['solid'], - label: 'Desktop' -}, { - name: 'dev', - search: [], - styles: ['brands'], - label: 'DEV' -}, { - name: 'deviantart', - search: [], - styles: ['brands'], - label: 'deviantART' -}, { - name: 'dharmachakra', - search: ['buddhism', 'buddhist', 'wheel of dharma'], - styles: ['solid'], - label: 'Dharmachakra' -}, { - name: 'dhl', - search: ['Dalsey', 'Hillblom and Lynn', 'german', 'package', 'shipping'], - styles: ['brands'], - label: 'DHL' -}, { - name: 'diagnoses', - search: ['analyze', 'detect', 'diagnosis', 'examine', 'medicine'], - styles: ['solid'], - label: 'Diagnoses' -}, { - name: 'diaspora', - search: [], - styles: ['brands'], - label: 'Diaspora' -}, { - name: 'dice', - search: ['chance', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice' -}, { - name: 'dice-d20', - search: ['Dungeons & Dragons', 'chance', 'd&d', 'dnd', 'fantasy', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice D20' -}, { - name: 'dice-d6', - search: ['Dungeons & Dragons', 'chance', 'd&d', 'dnd', 'fantasy', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice D6' -}, { - name: 'dice-five', - search: ['chance', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice Five' -}, { - name: 'dice-four', - search: ['chance', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice Four' -}, { - name: 'dice-one', - search: ['chance', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice One' -}, { - name: 'dice-six', - search: ['chance', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice Six' -}, { - name: 'dice-three', - search: ['chance', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice Three' -}, { - name: 'dice-two', - search: ['chance', 'gambling', 'game', 'roll'], - styles: ['solid'], - label: 'Dice Two' -}, { - name: 'digg', - search: [], - styles: ['brands'], - label: 'Digg Logo' -}, { - name: 'digital-ocean', - search: [], - styles: ['brands'], - label: 'Digital Ocean' -}, { - name: 'digital-tachograph', - search: ['data', 'distance', 'speed', 'tachometer'], - styles: ['solid'], - label: 'Digital Tachograph' -}, { - name: 'directions', - search: ['map', 'navigation', 'sign', 'turn'], - styles: ['solid'], - label: 'Directions' -}, { - name: 'discord', - search: [], - styles: ['brands'], - label: 'Discord' -}, { - name: 'discourse', - search: [], - styles: ['brands'], - label: 'Discourse' -}, { - name: 'disease', - search: ['bacteria', 'cancer', 'covid-19', 'illness', 'infection', 'sickness', 'virus'], - styles: ['solid'], - label: 'Disease' -}, { - name: 'divide', - search: ['arithmetic', 'calculus', 'division', 'math'], - styles: ['solid'], - label: 'Divide' -}, { - name: 'dizzy', - search: ['dazed', 'dead', 'disapprove', 'emoticon', 'face'], - styles: ['solid', 'regular'], - label: 'Dizzy Face' -}, { - name: 'dna', - search: ['double helix', 'genetic', 'helix', 'molecule', 'protein'], - styles: ['solid'], - label: 'DNA' -}, { - name: 'dochub', - search: [], - styles: ['brands'], - label: 'DocHub' -}, { - name: 'docker', - search: [], - styles: ['brands'], - label: 'Docker' -}, { - name: 'dog', - search: ['animal', 'canine', 'fauna', 'mammal', 'pet', 'pooch', 'puppy', 'woof'], - styles: ['solid'], - label: 'Dog' -}, { - name: 'dollar-sign', - search: ['$', 'cost', 'dollar-sign', 'money', 'price', 'usd'], - styles: ['solid'], - label: 'Dollar Sign' -}, { - name: 'dolly', - search: ['carry', 'shipping', 'transport'], - styles: ['solid'], - label: 'Dolly' -}, { - name: 'dolly-flatbed', - search: ['carry', 'inventory', 'shipping', 'transport'], - styles: ['solid'], - label: 'Dolly Flatbed' -}, { - name: 'donate', - search: ['contribute', 'generosity', 'gift', 'give'], - styles: ['solid'], - label: 'Donate' -}, { - name: 'door-closed', - search: ['enter', 'exit', 'locked'], - styles: ['solid'], - label: 'Door Closed' -}, { - name: 'door-open', - search: ['enter', 'exit', 'welcome'], - styles: ['solid'], - label: 'Door Open' -}, { - name: 'dot-circle', - search: ['bullseye', 'notification', 'target'], - styles: ['solid', 'regular'], - label: 'Dot Circle' -}, { - name: 'dove', - search: ['bird', 'fauna', 'flying', 'peace', 'war'], - styles: ['solid'], - label: 'Dove' -}, { - name: 'download', - search: ['export', 'hard drive', 'save', 'transfer'], - styles: ['solid'], - label: 'Download' -}, { - name: 'draft2digital', - search: [], - styles: ['brands'], - label: 'Draft2digital' -}, { - name: 'drafting-compass', - search: ['design', 'map', 'mechanical drawing', 'plot', 'plotting'], - styles: ['solid'], - label: 'Drafting Compass' -}, { - name: 'dragon', - search: ['Dungeons & Dragons', 'd&d', 'dnd', 'fantasy', 'fire', 'lizard', 'serpent'], - styles: ['solid'], - label: 'Dragon' -}, { - name: 'draw-polygon', - search: ['anchors', 'lines', 'object', 'render', 'shape'], - styles: ['solid'], - label: 'Draw Polygon' -}, { - name: 'dribbble', - search: [], - styles: ['brands'], - label: 'Dribbble' -}, { - name: 'dribbble-square', - search: [], - styles: ['brands'], - label: 'Dribbble Square' -}, { - name: 'dropbox', - search: [], - styles: ['brands'], - label: 'Dropbox' -}, { - name: 'drum', - search: ['instrument', 'music', 'percussion', 'snare', 'sound'], - styles: ['solid'], - label: 'Drum' -}, { - name: 'drum-steelpan', - search: ['calypso', 'instrument', 'music', 'percussion', 'reggae', 'snare', 'sound', 'steel', 'tropical'], - styles: ['solid'], - label: 'Drum Steelpan' -}, { - name: 'drumstick-bite', - search: ['bone', 'chicken', 'leg', 'meat', 'poultry', 'turkey'], - styles: ['solid'], - label: 'Drumstick with Bite Taken Out' -}, { - name: 'drupal', - search: [], - styles: ['brands'], - label: 'Drupal Logo' -}, { - name: 'dumbbell', - search: ['exercise', 'gym', 'strength', 'weight', 'weight-lifting'], - styles: ['solid'], - label: 'Dumbbell' -}, { - name: 'dumpster', - search: ['alley', 'bin', 'commercial', 'trash', 'waste'], - styles: ['solid'], - label: 'Dumpster' -}, { - name: 'dumpster-fire', - search: ['alley', 'bin', 'commercial', 'danger', 'dangerous', 'euphemism', 'flame', 'heat', 'hot', 'trash', 'waste'], - styles: ['solid'], - label: 'Dumpster Fire' -}, { - name: 'dungeon', - search: ['Dungeons & Dragons', 'building', 'd&d', 'dnd', 'door', 'entrance', 'fantasy', 'gate'], - styles: ['solid'], - label: 'Dungeon' -}, { - name: 'dyalog', - search: [], - styles: ['brands'], - label: 'Dyalog' -}, { - name: 'earlybirds', - search: [], - styles: ['brands'], - label: 'Earlybirds' -}, { - name: 'ebay', - search: [], - styles: ['brands'], - label: 'eBay' -}, { - name: 'edge', - search: ['browser', 'ie'], - styles: ['brands'], - label: 'Edge Browser' -}, { - name: 'edit', - search: ['edit', 'pen', 'pencil', 'update', 'write'], - styles: ['solid', 'regular'], - label: 'Edit' -}, { - name: 'egg', - search: ['breakfast', 'chicken', 'easter', 'shell', 'yolk'], - styles: ['solid'], - label: 'Egg' -}, { - name: 'eject', - search: ['abort', 'cancel', 'cd', 'discharge'], - styles: ['solid'], - label: 'eject' -}, { - name: 'elementor', - search: [], - styles: ['brands'], - label: 'Elementor' -}, { - name: 'ellipsis-h', - search: ['dots', 'drag', 'kebab', 'list', 'menu', 'nav', 'navigation', 'ol', 'reorder', 'settings', 'ul'], - styles: ['solid'], - label: 'Horizontal Ellipsis' -}, { - name: 'ellipsis-v', - search: ['dots', 'drag', 'kebab', 'list', 'menu', 'nav', 'navigation', 'ol', 'reorder', 'settings', 'ul'], - styles: ['solid'], - label: 'Vertical Ellipsis' -}, { - name: 'ello', - search: [], - styles: ['brands'], - label: 'Ello' -}, { - name: 'ember', - search: [], - styles: ['brands'], - label: 'Ember' -}, { - name: 'empire', - search: [], - styles: ['brands'], - label: 'Galactic Empire' -}, { - name: 'envelope', - search: ['e-mail', 'email', 'letter', 'mail', 'message', 'notification', 'support'], - styles: ['solid', 'regular'], - label: 'Envelope' -}, { - name: 'envelope-open', - search: ['e-mail', 'email', 'letter', 'mail', 'message', 'notification', 'support'], - styles: ['solid', 'regular'], - label: 'Envelope Open' -}, { - name: 'envelope-open-text', - search: ['e-mail', 'email', 'letter', 'mail', 'message', 'notification', 'support'], - styles: ['solid'], - label: 'Envelope Open-text' -}, { - name: 'envelope-square', - search: ['e-mail', 'email', 'letter', 'mail', 'message', 'notification', 'support'], - styles: ['solid'], - label: 'Envelope Square' -}, { - name: 'envira', - search: ['leaf'], - styles: ['brands'], - label: 'Envira Gallery' -}, { - name: 'equals', - search: ['arithmetic', 'even', 'match', 'math'], - styles: ['solid'], - label: 'Equals' -}, { - name: 'eraser', - search: ['art', 'delete', 'remove', 'rubber'], - styles: ['solid'], - label: 'eraser' -}, { - name: 'erlang', - search: [], - styles: ['brands'], - label: 'Erlang' -}, { - name: 'ethereum', - search: [], - styles: ['brands'], - label: 'Ethereum' -}, { - name: 'ethernet', - search: ['cable', 'cat 5', 'cat 6', 'connection', 'hardware', 'internet', 'network', 'wired'], - styles: ['solid'], - label: 'Ethernet' -}, { - name: 'etsy', - search: [], - styles: ['brands'], - label: 'Etsy' -}, { - name: 'euro-sign', - search: ['currency', 'dollar', 'exchange', 'money'], - styles: ['solid'], - label: 'Euro Sign' -}, { - name: 'evernote', - search: [], - styles: ['brands'], - label: 'Evernote' -}, { - name: 'exchange-alt', - search: ['arrow', 'arrows', 'exchange', 'reciprocate', 'return', 'swap', 'transfer'], - styles: ['solid'], - label: 'Alternate Exchange' -}, { - name: 'exclamation', - search: ['alert', 'danger', 'error', 'important', 'notice', 'notification', 'notify', 'problem', 'warning'], - styles: ['solid'], - label: 'exclamation' -}, { - name: 'exclamation-circle', - search: ['alert', 'danger', 'error', 'important', 'notice', 'notification', 'notify', 'problem', 'warning'], - styles: ['solid'], - label: 'Exclamation Circle' -}, { - name: 'exclamation-triangle', - search: ['alert', 'danger', 'error', 'important', 'notice', 'notification', 'notify', 'problem', 'warning'], - styles: ['solid'], - label: 'Exclamation Triangle' -}, { - name: 'expand', - search: ['arrow', 'bigger', 'enlarge', 'resize'], - styles: ['solid'], - label: 'Expand' -}, { - name: 'expand-alt', - search: ['arrow', 'bigger', 'enlarge', 'resize'], - styles: ['solid'], - label: 'Alternate Expand' -}, { - name: 'expand-arrows-alt', - search: ['arrows-alt', 'bigger', 'enlarge', 'move', 'resize'], - styles: ['solid'], - label: 'Alternate Expand Arrows' -}, { - name: 'expeditedssl', - search: [], - styles: ['brands'], - label: 'ExpeditedSSL' -}, { - name: 'external-link-alt', - search: ['external-link', 'new', 'open', 'share'], - styles: ['solid'], - label: 'Alternate External Link' -}, { - name: 'external-link-square-alt', - search: ['external-link-square', 'new', 'open', 'share'], - styles: ['solid'], - label: 'Alternate External Link Square' -}, { - name: 'eye', - search: ['look', 'optic', 'see', 'seen', 'show', 'sight', 'views', 'visible'], - styles: ['solid', 'regular'], - label: 'Eye' -}, { - name: 'eye-dropper', - search: ['beaker', 'clone', 'color', 'copy', 'eyedropper', 'pipette'], - styles: ['solid'], - label: 'Eye Dropper' -}, { - name: 'eye-slash', - search: ['blind', 'hide', 'show', 'toggle', 'unseen', 'views', 'visible', 'visiblity'], - styles: ['solid', 'regular'], - label: 'Eye Slash' -}, { - name: 'facebook', - search: ['facebook-official', 'social network'], - styles: ['brands'], - label: 'Facebook' -}, { - name: 'facebook-f', - search: ['facebook'], - styles: ['brands'], - label: 'Facebook F' -}, { - name: 'facebook-messenger', - search: [], - styles: ['brands'], - label: 'Facebook Messenger' -}, { - name: 'facebook-square', - search: ['social network'], - styles: ['brands'], - label: 'Facebook Square' -}, { - name: 'fan', - search: ['ac', 'air conditioning', 'blade', 'blower', 'cool', 'hot'], - styles: ['solid'], - label: 'Fan' -}, { - name: 'fantasy-flight-games', - search: ['Dungeons & Dragons', 'd&d', 'dnd', 'fantasy', 'game', 'gaming', 'tabletop'], - styles: ['brands'], - label: 'Fantasy Flight-games' -}, { - name: 'fast-backward', - search: ['beginning', 'first', 'previous', 'rewind', 'start'], - styles: ['solid'], - label: 'fast-backward' -}, { - name: 'fast-forward', - search: ['end', 'last', 'next'], - styles: ['solid'], - label: 'fast-forward' -}, { - name: 'faucet', - search: ['covid-19', 'drip', 'house', 'hygiene', 'kitchen', 'sink', 'water'], - styles: ['solid'], - label: 'Faucet' -}, { - name: 'fax', - search: ['business', 'communicate', 'copy', 'facsimile', 'send'], - styles: ['solid'], - label: 'Fax' -}, { - name: 'feather', - search: ['bird', 'light', 'plucked', 'quill', 'write'], - styles: ['solid'], - label: 'Feather' -}, { - name: 'feather-alt', - search: ['bird', 'light', 'plucked', 'quill', 'write'], - styles: ['solid'], - label: 'Alternate Feather' -}, { - name: 'fedex', - search: ['Federal Express', 'package', 'shipping'], - styles: ['brands'], - label: 'FedEx' -}, { - name: 'fedora', - search: ['linux', 'operating system', 'os'], - styles: ['brands'], - label: 'Fedora' -}, { - name: 'female', - search: ['human', 'person', 'profile', 'user', 'woman'], - styles: ['solid'], - label: 'Female' -}, { - name: 'fighter-jet', - search: ['airplane', 'fast', 'fly', 'goose', 'maverick', 'plane', 'quick', 'top gun', 'transportation', 'travel'], - styles: ['solid'], - label: 'fighter-jet' -}, { - name: 'figma', - search: ['app', 'design', 'interface'], - styles: ['brands'], - label: 'Figma' -}, { - name: 'file', - search: ['document', 'new', 'page', 'pdf', 'resume'], - styles: ['solid', 'regular'], - label: 'File' -}, { - name: 'file-alt', - search: ['document', 'file-text', 'invoice', 'new', 'page', 'pdf'], - styles: ['solid', 'regular'], - label: 'Alternate File' -}, { - name: 'file-archive', - search: ['.zip', 'bundle', 'compress', 'compression', 'download', 'zip'], - styles: ['solid', 'regular'], - label: 'Archive File' -}, { - name: 'file-audio', - search: ['document', 'mp3', 'music', 'page', 'play', 'sound'], - styles: ['solid', 'regular'], - label: 'Audio File' -}, { - name: 'file-code', - search: ['css', 'development', 'document', 'html'], - styles: ['solid', 'regular'], - label: 'Code File' -}, { - name: 'file-contract', - search: ['agreement', 'binding', 'document', 'legal', 'signature'], - styles: ['solid'], - label: 'File Contract' -}, { - name: 'file-csv', - search: ['document', 'excel', 'numbers', 'spreadsheets', 'table'], - styles: ['solid'], - label: 'File CSV' -}, { - name: 'file-download', - search: ['document', 'export', 'save'], - styles: ['solid'], - label: 'File Download' -}, { - name: 'file-excel', - search: ['csv', 'document', 'numbers', 'spreadsheets', 'table'], - styles: ['solid', 'regular'], - label: 'Excel File' -}, { - name: 'file-export', - search: ['download', 'save'], - styles: ['solid'], - label: 'File Export' -}, { - name: 'file-image', - search: ['document', 'image', 'jpg', 'photo', 'png'], - styles: ['solid', 'regular'], - label: 'Image File' -}, { - name: 'file-import', - search: ['copy', 'document', 'send', 'upload'], - styles: ['solid'], - label: 'File Import' -}, { - name: 'file-invoice', - search: ['account', 'bill', 'charge', 'document', 'payment', 'receipt'], - styles: ['solid'], - label: 'File Invoice' -}, { - name: 'file-invoice-dollar', - search: ['$', 'account', 'bill', 'charge', 'document', 'dollar-sign', 'money', 'payment', 'receipt', 'usd'], - styles: ['solid'], - label: 'File Invoice with US Dollar' -}, { - name: 'file-medical', - search: ['document', 'health', 'history', 'prescription', 'record'], - styles: ['solid'], - label: 'Medical File' -}, { - name: 'file-medical-alt', - search: ['document', 'health', 'history', 'prescription', 'record'], - styles: ['solid'], - label: 'Alternate Medical File' -}, { - name: 'file-pdf', - search: ['acrobat', 'document', 'preview', 'save'], - styles: ['solid', 'regular'], - label: 'PDF File' -}, { - name: 'file-powerpoint', - search: ['display', 'document', 'keynote', 'presentation'], - styles: ['solid', 'regular'], - label: 'Powerpoint File' -}, { - name: 'file-prescription', - search: ['document', 'drugs', 'medical', 'medicine', 'rx'], - styles: ['solid'], - label: 'File Prescription' -}, { - name: 'file-signature', - search: ['John Hancock', 'contract', 'document', 'name'], - styles: ['solid'], - label: 'File Signature' -}, { - name: 'file-upload', - search: ['document', 'import', 'page', 'save'], - styles: ['solid'], - label: 'File Upload' -}, { - name: 'file-video', - search: ['document', 'm4v', 'movie', 'mp4', 'play'], - styles: ['solid', 'regular'], - label: 'Video File' -}, { - name: 'file-word', - search: ['document', 'edit', 'page', 'text', 'writing'], - styles: ['solid', 'regular'], - label: 'Word File' -}, { - name: 'fill', - search: ['bucket', 'color', 'paint', 'paint bucket'], - styles: ['solid'], - label: 'Fill' -}, { - name: 'fill-drip', - search: ['bucket', 'color', 'drop', 'paint', 'paint bucket', 'spill'], - styles: ['solid'], - label: 'Fill Drip' -}, { - name: 'film', - search: ['cinema', 'movie', 'strip', 'video'], - styles: ['solid'], - label: 'Film' -}, { - name: 'filter', - search: ['funnel', 'options', 'separate', 'sort'], - styles: ['solid'], - label: 'Filter' -}, { - name: 'fingerprint', - search: ['human', 'id', 'identification', 'lock', 'smudge', 'touch', 'unique', 'unlock'], - styles: ['solid'], - label: 'Fingerprint' -}, { - name: 'fire', - search: ['burn', 'caliente', 'flame', 'heat', 'hot', 'popular'], - styles: ['solid'], - label: 'fire' -}, { - name: 'fire-alt', - search: ['burn', 'caliente', 'flame', 'heat', 'hot', 'popular'], - styles: ['solid'], - label: 'Alternate Fire' -}, { - name: 'fire-extinguisher', - search: ['burn', 'caliente', 'fire fighter', 'flame', 'heat', 'hot', 'rescue'], - styles: ['solid'], - label: 'fire-extinguisher' -}, { - name: 'firefox', - search: ['browser'], - styles: ['brands'], - label: 'Firefox' -}, { - name: 'firefox-browser', - search: ['browser'], - styles: ['brands'], - label: 'Firefox Browser' -}, { - name: 'first-aid', - search: ['emergency', 'emt', 'health', 'medical', 'rescue'], - styles: ['solid'], - label: 'First Aid' -}, { - name: 'first-order', - search: [], - styles: ['brands'], - label: 'First Order' -}, { - name: 'first-order-alt', - search: [], - styles: ['brands'], - label: 'Alternate First Order' -}, { - name: 'firstdraft', - search: [], - styles: ['brands'], - label: 'firstdraft' -}, { - name: 'fish', - search: ['fauna', 'gold', 'seafood', 'swimming'], - styles: ['solid'], - label: 'Fish' -}, { - name: 'fist-raised', - search: ['Dungeons & Dragons', 'd&d', 'dnd', 'fantasy', 'hand', 'ki', 'monk', 'resist', 'strength', 'unarmed combat'], - styles: ['solid'], - label: 'Raised Fist' -}, { - name: 'flag', - search: ['country', 'notice', 'notification', 'notify', 'pole', 'report', 'symbol'], - styles: ['solid', 'regular'], - label: 'flag' -}, { - name: 'flag-checkered', - search: ['notice', 'notification', 'notify', 'pole', 'racing', 'report', 'symbol'], - styles: ['solid'], - label: 'flag-checkered' -}, { - name: 'flag-usa', - search: ['betsy ross', 'country', 'old glory', 'stars', 'stripes', 'symbol'], - styles: ['solid'], - label: 'United States of America Flag' -}, { - name: 'flask', - search: ['beaker', 'experimental', 'labs', 'science'], - styles: ['solid'], - label: 'Flask' -}, { - name: 'flickr', - search: [], - styles: ['brands'], - label: 'Flickr' -}, { - name: 'flipboard', - search: [], - styles: ['brands'], - label: 'Flipboard' -}, { - name: 'flushed', - search: ['embarrassed', 'emoticon', 'face'], - styles: ['solid', 'regular'], - label: 'Flushed Face' -}, { - name: 'fly', - search: [], - styles: ['brands'], - label: 'Fly' -}, { - name: 'folder', - search: ['archive', 'directory', 'document', 'file'], - styles: ['solid', 'regular'], - label: 'Folder' -}, { - name: 'folder-minus', - search: ['archive', 'delete', 'directory', 'document', 'file', 'negative', 'remove'], - styles: ['solid'], - label: 'Folder Minus' -}, { - name: 'folder-open', - search: ['archive', 'directory', 'document', 'empty', 'file', 'new'], - styles: ['solid', 'regular'], - label: 'Folder Open' -}, { - name: 'folder-plus', - search: ['add', 'archive', 'create', 'directory', 'document', 'file', 'new', 'positive'], - styles: ['solid'], - label: 'Folder Plus' -}, { - name: 'font', - search: ['alphabet', 'glyph', 'text', 'type', 'typeface'], - styles: ['solid'], - label: 'font' -}, { - name: 'font-awesome', - search: ['meanpath'], - styles: ['brands'], - label: 'Font Awesome' -}, { - name: 'font-awesome-alt', - search: [], - styles: ['brands'], - label: 'Alternate Font Awesome' -}, { - name: 'font-awesome-flag', - search: [], - styles: ['brands'], - label: 'Font Awesome Flag' -}, { - name: 'fonticons', - search: [], - styles: ['brands'], - label: 'Fonticons' -}, { - name: 'fonticons-fi', - search: [], - styles: ['brands'], - label: 'Fonticons Fi' -}, { - name: 'football-ball', - search: ['ball', 'fall', 'nfl', 'pigskin', 'seasonal'], - styles: ['solid'], - label: 'Football Ball' -}, { - name: 'fort-awesome', - search: ['castle'], - styles: ['brands'], - label: 'Fort Awesome' -}, { - name: 'fort-awesome-alt', - search: ['castle'], - styles: ['brands'], - label: 'Alternate Fort Awesome' -}, { - name: 'forumbee', - search: [], - styles: ['brands'], - label: 'Forumbee' -}, { - name: 'forward', - search: ['forward', 'next', 'skip'], - styles: ['solid'], - label: 'forward' -}, { - name: 'foursquare', - search: [], - styles: ['brands'], - label: 'Foursquare' -}, { - name: 'free-code-camp', - search: [], - styles: ['brands'], - label: 'freeCodeCamp' -}, { - name: 'freebsd', - search: [], - styles: ['brands'], - label: 'FreeBSD' -}, { - name: 'frog', - search: ['amphibian', 'bullfrog', 'fauna', 'hop', 'kermit', 'kiss', 'prince', 'ribbit', 'toad', 'wart'], - styles: ['solid'], - label: 'Frog' -}, { - name: 'frown', - search: ['disapprove', 'emoticon', 'face', 'rating', 'sad'], - styles: ['solid', 'regular'], - label: 'Frowning Face' -}, { - name: 'frown-open', - search: ['disapprove', 'emoticon', 'face', 'rating', 'sad'], - styles: ['solid', 'regular'], - label: 'Frowning Face With Open Mouth' -}, { - name: 'fulcrum', - search: [], - styles: ['brands'], - label: 'Fulcrum' -}, { - name: 'funnel-dollar', - search: ['filter', 'money', 'options', 'separate', 'sort'], - styles: ['solid'], - label: 'Funnel Dollar' -}, { - name: 'futbol', - search: ['ball', 'football', 'mls', 'soccer'], - styles: ['solid', 'regular'], - label: 'Futbol' -}, { - name: 'galactic-republic', - search: ['politics', 'star wars'], - styles: ['brands'], - label: 'Galactic Republic' -}, { - name: 'galactic-senate', - search: ['star wars'], - styles: ['brands'], - label: 'Galactic Senate' -}, { - name: 'gamepad', - search: ['arcade', 'controller', 'd-pad', 'joystick', 'video', 'video game'], - styles: ['solid'], - label: 'Gamepad' -}, { - name: 'gas-pump', - search: ['car', 'fuel', 'gasoline', 'petrol'], - styles: ['solid'], - label: 'Gas Pump' -}, { - name: 'gavel', - search: ['hammer', 'judge', 'law', 'lawyer', 'opinion'], - styles: ['solid'], - label: 'Gavel' -}, { - name: 'gem', - search: ['diamond', 'jewelry', 'sapphire', 'stone', 'treasure'], - styles: ['solid', 'regular'], - label: 'Gem' -}, { - name: 'genderless', - search: ['androgynous', 'asexual', 'sexless'], - styles: ['solid'], - label: 'Genderless' -}, { - name: 'get-pocket', - search: [], - styles: ['brands'], - label: 'Get Pocket' -}, { - name: 'gg', - search: [], - styles: ['brands'], - label: 'GG Currency' -}, { - name: 'gg-circle', - search: [], - styles: ['brands'], - label: 'GG Currency Circle' -}, { - name: 'ghost', - search: ['apparition', 'blinky', 'clyde', 'floating', 'halloween', 'holiday', 'inky', 'pinky', 'spirit'], - styles: ['solid'], - label: 'Ghost' -}, { - name: 'gift', - search: ['christmas', 'generosity', 'giving', 'holiday', 'party', 'present', 'wrapped', 'xmas'], - styles: ['solid'], - label: 'gift' -}, { - name: 'gifts', - search: ['christmas', 'generosity', 'giving', 'holiday', 'party', 'present', 'wrapped', 'xmas'], - styles: ['solid'], - label: 'Gifts' -}, { - name: 'git', - search: [], - styles: ['brands'], - label: 'Git' -}, { - name: 'git-alt', - search: [], - styles: ['brands'], - label: 'Git Alt' -}, { - name: 'git-square', - search: [], - styles: ['brands'], - label: 'Git Square' -}, { - name: 'github', - search: ['octocat'], - styles: ['brands'], - label: 'GitHub' -}, { - name: 'github-alt', - search: ['octocat'], - styles: ['brands'], - label: 'Alternate GitHub' -}, { - name: 'github-square', - search: ['octocat'], - styles: ['brands'], - label: 'GitHub Square' -}, { - name: 'gitkraken', - search: [], - styles: ['brands'], - label: 'GitKraken' -}, { - name: 'gitlab', - search: ['Axosoft'], - styles: ['brands'], - label: 'GitLab' -}, { - name: 'gitter', - search: [], - styles: ['brands'], - label: 'Gitter' -}, { - name: 'glass-cheers', - search: ['alcohol', 'bar', 'beverage', 'celebration', 'champagne', 'clink', 'drink', 'holiday', 'new year\'s eve', 'party', 'toast'], - styles: ['solid'], - label: 'Glass Cheers' -}, { - name: 'glass-martini', - search: ['alcohol', 'bar', 'beverage', 'drink', 'liquor'], - styles: ['solid'], - label: 'Martini Glass' -}, { - name: 'glass-martini-alt', - search: ['alcohol', 'bar', 'beverage', 'drink', 'liquor'], - styles: ['solid'], - label: 'Alternate Glass Martini' -}, { - name: 'glass-whiskey', - search: ['alcohol', 'bar', 'beverage', 'bourbon', 'drink', 'liquor', 'neat', 'rye', 'scotch', 'whisky'], - styles: ['solid'], - label: 'Glass Whiskey' -}, { - name: 'glasses', - search: ['hipster', 'nerd', 'reading', 'sight', 'spectacles', 'vision'], - styles: ['solid'], - label: 'Glasses' -}, { - name: 'glide', - search: [], - styles: ['brands'], - label: 'Glide' -}, { - name: 'glide-g', - search: [], - styles: ['brands'], - label: 'Glide G' -}, { - name: 'globe', - search: ['all', 'coordinates', 'country', 'earth', 'global', 'gps', 'language', 'localize', 'location', 'map', 'online', 'place', 'planet', 'translate', 'travel', 'world'], - styles: ['solid'], - label: 'Globe' -}, { - name: 'globe-africa', - search: ['all', 'country', 'earth', 'global', 'gps', 'language', 'localize', 'location', 'map', 'online', 'place', 'planet', 'translate', 'travel', 'world'], - styles: ['solid'], - label: 'Globe with Africa shown' -}, { - name: 'globe-americas', - search: ['all', 'country', 'earth', 'global', 'gps', 'language', 'localize', 'location', 'map', 'online', 'place', 'planet', 'translate', 'travel', 'world'], - styles: ['solid'], - label: 'Globe with Americas shown' -}, { - name: 'globe-asia', - search: ['all', 'country', 'earth', 'global', 'gps', 'language', 'localize', 'location', 'map', 'online', 'place', 'planet', 'translate', 'travel', 'world'], - styles: ['solid'], - label: 'Globe with Asia shown' -}, { - name: 'globe-europe', - search: ['all', 'country', 'earth', 'global', 'gps', 'language', 'localize', 'location', 'map', 'online', 'place', 'planet', 'translate', 'travel', 'world'], - styles: ['solid'], - label: 'Globe with Europe shown' -}, { - name: 'gofore', - search: [], - styles: ['brands'], - label: 'Gofore' -}, { - name: 'golf-ball', - search: ['caddy', 'eagle', 'putt', 'tee'], - styles: ['solid'], - label: 'Golf Ball' -}, { - name: 'goodreads', - search: [], - styles: ['brands'], - label: 'Goodreads' -}, { - name: 'goodreads-g', - search: [], - styles: ['brands'], - label: 'Goodreads G' -}, { - name: 'google', - search: [], - styles: ['brands'], - label: 'Google Logo' -}, { - name: 'google-drive', - search: [], - styles: ['brands'], - label: 'Google Drive' -}, { - name: 'google-play', - search: [], - styles: ['brands'], - label: 'Google Play' -}, { - name: 'google-plus', - search: ['google-plus-circle', 'google-plus-official'], - styles: ['brands'], - label: 'Google Plus' -}, { - name: 'google-plus-g', - search: ['google-plus', 'social network'], - styles: ['brands'], - label: 'Google Plus G' -}, { - name: 'google-plus-square', - search: ['social network'], - styles: ['brands'], - label: 'Google Plus Square' -}, { - name: 'google-wallet', - search: [], - styles: ['brands'], - label: 'Google Wallet' -}, { - name: 'gopuram', - search: ['building', 'entrance', 'hinduism', 'temple', 'tower'], - styles: ['solid'], - label: 'Gopuram' -}, { - name: 'graduation-cap', - search: ['ceremony', 'college', 'graduate', 'learning', 'school', 'student'], - styles: ['solid'], - label: 'Graduation Cap' -}, { - name: 'gratipay', - search: ['favorite', 'heart', 'like', 'love'], - styles: ['brands'], - label: 'Gratipay (Gittip)' -}, { - name: 'grav', - search: [], - styles: ['brands'], - label: 'Grav' -}, { - name: 'greater-than', - search: ['arithmetic', 'compare', 'math'], - styles: ['solid'], - label: 'Greater Than' -}, { - name: 'greater-than-equal', - search: ['arithmetic', 'compare', 'math'], - styles: ['solid'], - label: 'Greater Than Equal To' -}, { - name: 'grimace', - search: ['cringe', 'emoticon', 'face', 'teeth'], - styles: ['solid', 'regular'], - label: 'Grimacing Face' -}, { - name: 'grin', - search: ['emoticon', 'face', 'laugh', 'smile'], - styles: ['solid', 'regular'], - label: 'Grinning Face' -}, { - name: 'grin-alt', - search: ['emoticon', 'face', 'laugh', 'smile'], - styles: ['solid', 'regular'], - label: 'Alternate Grinning Face' -}, { - name: 'grin-beam', - search: ['emoticon', 'face', 'laugh', 'smile'], - styles: ['solid', 'regular'], - label: 'Grinning Face With Smiling Eyes' -}, { - name: 'grin-beam-sweat', - search: ['embarass', 'emoticon', 'face', 'smile'], - styles: ['solid', 'regular'], - label: 'Grinning Face With Sweat' -}, { - name: 'grin-hearts', - search: ['emoticon', 'face', 'love', 'smile'], - styles: ['solid', 'regular'], - label: 'Smiling Face With Heart-Eyes' -}, { - name: 'grin-squint', - search: ['emoticon', 'face', 'laugh', 'smile'], - styles: ['solid', 'regular'], - label: 'Grinning Squinting Face' -}, { - name: 'grin-squint-tears', - search: ['emoticon', 'face', 'happy', 'smile'], - styles: ['solid', 'regular'], - label: 'Rolling on the Floor Laughing' -}, { - name: 'grin-stars', - search: ['emoticon', 'face', 'star-struck'], - styles: ['solid', 'regular'], - label: 'Star-Struck' -}, { - name: 'grin-tears', - search: ['LOL', 'emoticon', 'face'], - styles: ['solid', 'regular'], - label: 'Face With Tears of Joy' -}, { - name: 'grin-tongue', - search: ['LOL', 'emoticon', 'face'], - styles: ['solid', 'regular'], - label: 'Face With Tongue' -}, { - name: 'grin-tongue-squint', - search: ['LOL', 'emoticon', 'face'], - styles: ['solid', 'regular'], - label: 'Squinting Face With Tongue' -}, { - name: 'grin-tongue-wink', - search: ['LOL', 'emoticon', 'face'], - styles: ['solid', 'regular'], - label: 'Winking Face With Tongue' -}, { - name: 'grin-wink', - search: ['emoticon', 'face', 'flirt', 'laugh', 'smile'], - styles: ['solid', 'regular'], - label: 'Grinning Winking Face' -}, { - name: 'grip-horizontal', - search: ['affordance', 'drag', 'drop', 'grab', 'handle'], - styles: ['solid'], - label: 'Grip Horizontal' -}, { - name: 'grip-lines', - search: ['affordance', 'drag', 'drop', 'grab', 'handle'], - styles: ['solid'], - label: 'Grip Lines' -}, { - name: 'grip-lines-vertical', - search: ['affordance', 'drag', 'drop', 'grab', 'handle'], - styles: ['solid'], - label: 'Grip Lines Vertical' -}, { - name: 'grip-vertical', - search: ['affordance', 'drag', 'drop', 'grab', 'handle'], - styles: ['solid'], - label: 'Grip Vertical' -}, { - name: 'gripfire', - search: [], - styles: ['brands'], - label: 'Gripfire, Inc.' -}, { - name: 'grunt', - search: [], - styles: ['brands'], - label: 'Grunt' -}, { - name: 'guitar', - search: ['acoustic', 'instrument', 'music', 'rock', 'rock and roll', 'song', 'strings'], - styles: ['solid'], - label: 'Guitar' -}, { - name: 'gulp', - search: [], - styles: ['brands'], - label: 'Gulp' -}, { - name: 'h-square', - search: ['directions', 'emergency', 'hospital', 'hotel', 'map'], - styles: ['solid'], - label: 'H Square' -}, { - name: 'hacker-news', - search: [], - styles: ['brands'], - label: 'Hacker News' -}, { - name: 'hacker-news-square', - search: [], - styles: ['brands'], - label: 'Hacker News Square' -}, { - name: 'hackerrank', - search: [], - styles: ['brands'], - label: 'Hackerrank' -}, { - name: 'hamburger', - search: ['bacon', 'beef', 'burger', 'burger king', 'cheeseburger', 'fast food', 'grill', 'ground beef', 'mcdonalds', 'sandwich'], - styles: ['solid'], - label: 'Hamburger' -}, { - name: 'hammer', - search: ['admin', 'fix', 'repair', 'settings', 'tool'], - styles: ['solid'], - label: 'Hammer' -}, { - name: 'hamsa', - search: ['amulet', 'christianity', 'islam', 'jewish', 'judaism', 'muslim', 'protection'], - styles: ['solid'], - label: 'Hamsa' -}, { - name: 'hand-holding', - search: ['carry', 'lift'], - styles: ['solid'], - label: 'Hand Holding' -}, { - name: 'hand-holding-heart', - search: ['carry', 'charity', 'gift', 'lift', 'package'], - styles: ['solid'], - label: 'Hand Holding Heart' -}, { - name: 'hand-holding-medical', - search: ['care', 'covid-19', 'donate', 'help'], - styles: ['solid'], - label: 'Hand Holding Medical Cross' -}, { - name: 'hand-holding-usd', - search: ['$', 'carry', 'dollar sign', 'donation', 'giving', 'lift', 'money', 'price'], - styles: ['solid'], - label: 'Hand Holding US Dollar' -}, { - name: 'hand-holding-water', - search: ['carry', 'covid-19', 'drought', 'grow', 'lift'], - styles: ['solid'], - label: 'Hand Holding Water' -}, { - name: 'hand-lizard', - search: ['game', 'roshambo'], - styles: ['solid', 'regular'], - label: 'Lizard (Hand)' -}, { - name: 'hand-middle-finger', - search: ['flip the bird', 'gesture', 'hate', 'rude'], - styles: ['solid'], - label: 'Hand with Middle Finger Raised' -}, { - name: 'hand-paper', - search: ['game', 'halt', 'roshambo', 'stop'], - styles: ['solid', 'regular'], - label: 'Paper (Hand)' -}, { - name: 'hand-peace', - search: ['rest', 'truce'], - styles: ['solid', 'regular'], - label: 'Peace (Hand)' -}, { - name: 'hand-point-down', - search: ['finger', 'hand-o-down', 'point'], - styles: ['solid', 'regular'], - label: 'Hand Pointing Down' -}, { - name: 'hand-point-left', - search: ['back', 'finger', 'hand-o-left', 'left', 'point', 'previous'], - styles: ['solid', 'regular'], - label: 'Hand Pointing Left' -}, { - name: 'hand-point-right', - search: ['finger', 'forward', 'hand-o-right', 'next', 'point', 'right'], - styles: ['solid', 'regular'], - label: 'Hand Pointing Right' -}, { - name: 'hand-point-up', - search: ['finger', 'hand-o-up', 'point'], - styles: ['solid', 'regular'], - label: 'Hand Pointing Up' -}, { - name: 'hand-pointer', - search: ['arrow', 'cursor', 'select'], - styles: ['solid', 'regular'], - label: 'Pointer (Hand)' -}, { - name: 'hand-rock', - search: ['fist', 'game', 'roshambo'], - styles: ['solid', 'regular'], - label: 'Rock (Hand)' -}, { - name: 'hand-scissors', - search: ['cut', 'game', 'roshambo'], - styles: ['solid', 'regular'], - label: 'Scissors (Hand)' -}, { - name: 'hand-sparkles', - search: ['clean', 'covid-19', 'hygiene', 'magic', 'soap', 'wash'], - styles: ['solid'], - label: 'Hand Sparkles' -}, { - name: 'hand-spock', - search: ['live long', 'prosper', 'salute', 'star trek', 'vulcan'], - styles: ['solid', 'regular'], - label: 'Spock (Hand)' -}, { - name: 'hands', - search: ['carry', 'hold', 'lift'], - styles: ['solid'], - label: 'Hands' -}, { - name: 'hands-helping', - search: ['aid', 'assistance', 'handshake', 'partnership', 'volunteering'], - styles: ['solid'], - label: 'Helping Hands' -}, { - name: 'hands-wash', - search: ['covid-19', 'hygiene', 'soap', 'wash'], - styles: ['solid'], - label: 'Hands Wash' -}, { - name: 'handshake', - search: ['agreement', 'greeting', 'meeting', 'partnership'], - styles: ['solid', 'regular'], - label: 'Handshake' -}, { - name: 'handshake-alt-slash', - search: ['broken', 'covid-19', 'social distance'], - styles: ['solid'], - label: 'Handshake Alternate Slash' -}, { - name: 'handshake-slash', - search: ['broken', 'covid-19', 'social distance'], - styles: ['solid'], - label: 'Handshake Slash' -}, { - name: 'hanukiah', - search: ['candle', 'hanukkah', 'jewish', 'judaism', 'light'], - styles: ['solid'], - label: 'Hanukiah' -}, { - name: 'hard-hat', - search: ['construction', 'hardhat', 'helmet', 'safety'], - styles: ['solid'], - label: 'Hard Hat' -}, { - name: 'hashtag', - search: ['Twitter', 'instagram', 'pound', 'social media', 'tag'], - styles: ['solid'], - label: 'Hashtag' -}, { - name: 'hat-cowboy', - search: ['buckaroo', 'horse', 'jackeroo', 'john b.', 'old west', 'pardner', 'ranch', 'rancher', 'rodeo', 'western', 'wrangler'], - styles: ['solid'], - label: 'Cowboy Hat' -}, { - name: 'hat-cowboy-side', - search: ['buckaroo', 'horse', 'jackeroo', 'john b.', 'old west', 'pardner', 'ranch', 'rancher', 'rodeo', 'western', 'wrangler'], - styles: ['solid'], - label: 'Cowboy Hat Side' -}, { - name: 'hat-wizard', - search: ['Dungeons & Dragons', 'accessory', 'buckle', 'clothing', 'd&d', 'dnd', 'fantasy', 'halloween', 'head', 'holiday', 'mage', 'magic', 'pointy', 'witch'], - styles: ['solid'], - label: 'Wizard\'s Hat' -}, { - name: 'hdd', - search: ['cpu', 'hard drive', 'harddrive', 'machine', 'save', 'storage'], - styles: ['solid', 'regular'], - label: 'HDD' -}, { - name: 'head-side-cough', - search: ['cough', 'covid-19', 'germs', 'lungs', 'respiratory', 'sick'], - styles: ['solid'], - label: 'Head Side Cough' -}, { - name: 'head-side-cough-slash', - search: ['cough', 'covid-19', 'germs', 'lungs', 'respiratory', 'sick'], - styles: ['solid'], - label: 'Head Side-cough-slash' -}, { - name: 'head-side-mask', - search: ['breath', 'covid-19', 'filter', 'respirator', 'virus'], - styles: ['solid'], - label: 'Head Side Mask' -}, { - name: 'head-side-virus', - search: ['cold', 'covid-19', 'flu', 'sick'], - styles: ['solid'], - label: 'Head Side Virus' -}, { - name: 'heading', - search: ['format', 'header', 'text', 'title'], - styles: ['solid'], - label: 'heading' -}, { - name: 'headphones', - search: ['audio', 'listen', 'music', 'sound', 'speaker'], - styles: ['solid'], - label: 'headphones' -}, { - name: 'headphones-alt', - search: ['audio', 'listen', 'music', 'sound', 'speaker'], - styles: ['solid'], - label: 'Alternate Headphones' -}, { - name: 'headset', - search: ['audio', 'gamer', 'gaming', 'listen', 'live chat', 'microphone', 'shot caller', 'sound', 'support', 'telemarketer'], - styles: ['solid'], - label: 'Headset' -}, { - name: 'heart', - search: ['favorite', 'like', 'love', 'relationship', 'valentine'], - styles: ['solid', 'regular'], - label: 'Heart' -}, { - name: 'heart-broken', - search: ['breakup', 'crushed', 'dislike', 'dumped', 'grief', 'love', 'lovesick', 'relationship', 'sad'], - styles: ['solid'], - label: 'Heart Broken' -}, { - name: 'heartbeat', - search: ['ekg', 'electrocardiogram', 'health', 'lifeline', 'vital signs'], - styles: ['solid'], - label: 'Heartbeat' -}, { - name: 'helicopter', - search: ['airwolf', 'apache', 'chopper', 'flight', 'fly', 'travel'], - styles: ['solid'], - label: 'Helicopter' -}, { - name: 'highlighter', - search: ['edit', 'marker', 'sharpie', 'update', 'write'], - styles: ['solid'], - label: 'Highlighter' -}, { - name: 'hiking', - search: ['activity', 'backpack', 'fall', 'fitness', 'outdoors', 'person', 'seasonal', 'walking'], - styles: ['solid'], - label: 'Hiking' -}, { - name: 'hippo', - search: ['animal', 'fauna', 'hippopotamus', 'hungry', 'mammal'], - styles: ['solid'], - label: 'Hippo' -}, { - name: 'hips', - search: [], - styles: ['brands'], - label: 'Hips' -}, { - name: 'hire-a-helper', - search: [], - styles: ['brands'], - label: 'HireAHelper' -}, { - name: 'history', - search: ['Rewind', 'clock', 'reverse', 'time', 'time machine'], - styles: ['solid'], - label: 'History' -}, { - name: 'hockey-puck', - search: ['ice', 'nhl', 'sport'], - styles: ['solid'], - label: 'Hockey Puck' -}, { - name: 'holly-berry', - search: ['catwoman', 'christmas', 'decoration', 'flora', 'halle', 'holiday', 'ororo munroe', 'plant', 'storm', 'xmas'], - styles: ['solid'], - label: 'Holly Berry' -}, { - name: 'home', - search: ['abode', 'building', 'house', 'main'], - styles: ['solid'], - label: 'home' -}, { - name: 'hooli', - search: [], - styles: ['brands'], - label: 'Hooli' -}, { - name: 'hornbill', - search: [], - styles: ['brands'], - label: 'Hornbill' -}, { - name: 'horse', - search: ['equus', 'fauna', 'mammmal', 'mare', 'neigh', 'pony'], - styles: ['solid'], - label: 'Horse' -}, { - name: 'horse-head', - search: ['equus', 'fauna', 'mammmal', 'mare', 'neigh', 'pony'], - styles: ['solid'], - label: 'Horse Head' -}, { - name: 'hospital', - search: ['building', 'covid-19', 'emergency room', 'medical center'], - styles: ['solid', 'regular'], - label: 'hospital' -}, { - name: 'hospital-alt', - search: ['building', 'covid-19', 'emergency room', 'medical center'], - styles: ['solid'], - label: 'Alternate Hospital' -}, { - name: 'hospital-symbol', - search: ['clinic', 'covid-19', 'emergency', 'map'], - styles: ['solid'], - label: 'Hospital Symbol' -}, { - name: 'hospital-user', - search: ['covid-19', 'doctor', 'network', 'patient', 'primary care'], - styles: ['solid'], - label: 'Hospital with User' -}, { - name: 'hot-tub', - search: ['bath', 'jacuzzi', 'massage', 'sauna', 'spa'], - styles: ['solid'], - label: 'Hot Tub' -}, { - name: 'hotdog', - search: ['bun', 'chili', 'frankfurt', 'frankfurter', 'kosher', 'polish', 'sandwich', 'sausage', 'vienna', 'weiner'], - styles: ['solid'], - label: 'Hot Dog' -}, { - name: 'hotel', - search: ['building', 'inn', 'lodging', 'motel', 'resort', 'travel'], - styles: ['solid'], - label: 'Hotel' -}, { - name: 'hotjar', - search: [], - styles: ['brands'], - label: 'Hotjar' -}, { - name: 'hourglass', - search: ['hour', 'minute', 'sand', 'stopwatch', 'time'], - styles: ['solid', 'regular'], - label: 'Hourglass' -}, { - name: 'hourglass-end', - search: ['hour', 'minute', 'sand', 'stopwatch', 'time'], - styles: ['solid'], - label: 'Hourglass End' -}, { - name: 'hourglass-half', - search: ['hour', 'minute', 'sand', 'stopwatch', 'time'], - styles: ['solid'], - label: 'Hourglass Half' -}, { - name: 'hourglass-start', - search: ['hour', 'minute', 'sand', 'stopwatch', 'time'], - styles: ['solid'], - label: 'Hourglass Start' -}, { - name: 'house-damage', - search: ['building', 'devastation', 'disaster', 'home', 'insurance'], - styles: ['solid'], - label: 'Damaged House' -}, { - name: 'house-user', - search: ['covid-19', 'home', 'isolation', 'quarantine'], - styles: ['solid'], - label: 'House User' -}, { - name: 'houzz', - search: [], - styles: ['brands'], - label: 'Houzz' -}, { - name: 'hryvnia', - search: ['currency', 'money', 'ukraine', 'ukrainian'], - styles: ['solid'], - label: 'Hryvnia' -}, { - name: 'html5', - search: [], - styles: ['brands'], - label: 'HTML 5 Logo' -}, { - name: 'hubspot', - search: [], - styles: ['brands'], - label: 'HubSpot' -}, { - name: 'i-cursor', - search: ['editing', 'i-beam', 'type', 'writing'], - styles: ['solid'], - label: 'I Beam Cursor' -}, { - name: 'ice-cream', - search: ['chocolate', 'cone', 'dessert', 'frozen', 'scoop', 'sorbet', 'vanilla', 'yogurt'], - styles: ['solid'], - label: 'Ice Cream' -}, { - name: 'icicles', - search: ['cold', 'frozen', 'hanging', 'ice', 'seasonal', 'sharp'], - styles: ['solid'], - label: 'Icicles' -}, { - name: 'icons', - search: ['bolt', 'emoji', 'heart', 'image', 'music', 'photo', 'symbols'], - styles: ['solid'], - label: 'Icons' -}, { - name: 'id-badge', - search: ['address', 'contact', 'identification', 'license', 'profile'], - styles: ['solid', 'regular'], - label: 'Identification Badge' -}, { - name: 'id-card', - search: ['contact', 'demographics', 'document', 'identification', 'issued', 'profile'], - styles: ['solid', 'regular'], - label: 'Identification Card' -}, { - name: 'id-card-alt', - search: ['contact', 'demographics', 'document', 'identification', 'issued', 'profile'], - styles: ['solid'], - label: 'Alternate Identification Card' -}, { - name: 'ideal', - search: [], - styles: ['brands'], - label: 'iDeal' -}, { - name: 'igloo', - search: ['dome', 'dwelling', 'eskimo', 'home', 'house', 'ice', 'snow'], - styles: ['solid'], - label: 'Igloo' -}, { - name: 'image', - search: ['album', 'landscape', 'photo', 'picture'], - styles: ['solid', 'regular'], - label: 'Image' -}, { - name: 'images', - search: ['album', 'landscape', 'photo', 'picture'], - styles: ['solid', 'regular'], - label: 'Images' -}, { - name: 'imdb', - search: [], - styles: ['brands'], - label: 'IMDB' -}, { - name: 'inbox', - search: ['archive', 'desk', 'email', 'mail', 'message'], - styles: ['solid'], - label: 'inbox' -}, { - name: 'indent', - search: ['align', 'justify', 'paragraph', 'tab'], - styles: ['solid'], - label: 'Indent' -}, { - name: 'industry', - search: ['building', 'factory', 'industrial', 'manufacturing', 'mill', 'warehouse'], - styles: ['solid'], - label: 'Industry' -}, { - name: 'infinity', - search: ['eternity', 'forever', 'math'], - styles: ['solid'], - label: 'Infinity' -}, { - name: 'info', - search: ['details', 'help', 'information', 'more', 'support'], - styles: ['solid'], - label: 'Info' -}, { - name: 'info-circle', - search: ['details', 'help', 'information', 'more', 'support'], - styles: ['solid'], - label: 'Info Circle' -}, { - name: 'instagram', - search: [], - styles: ['brands'], - label: 'Instagram' -}, { - name: 'instagram-square', - search: [], - styles: ['brands'], - label: 'Instagram Square' -}, { - name: 'intercom', - search: ['app', 'customer', 'messenger'], - styles: ['brands'], - label: 'Intercom' -}, { - name: 'internet-explorer', - search: ['browser', 'ie'], - styles: ['brands'], - label: 'Internet-explorer' -}, { - name: 'invision', - search: ['app', 'design', 'interface'], - styles: ['brands'], - label: 'InVision' -}, { - name: 'ioxhost', - search: [], - styles: ['brands'], - label: 'ioxhost' -}, { - name: 'italic', - search: ['edit', 'emphasis', 'font', 'format', 'text', 'type'], - styles: ['solid'], - label: 'italic' -}, { - name: 'itch-io', - search: [], - styles: ['brands'], - label: 'itch.io' -}, { - name: 'itunes', - search: [], - styles: ['brands'], - label: 'iTunes' -}, { - name: 'itunes-note', - search: [], - styles: ['brands'], - label: 'Itunes Note' -}, { - name: 'java', - search: [], - styles: ['brands'], - label: 'Java' -}, { - name: 'jedi', - search: ['crest', 'force', 'sith', 'skywalker', 'star wars', 'yoda'], - styles: ['solid'], - label: 'Jedi' -}, { - name: 'jedi-order', - search: ['star wars'], - styles: ['brands'], - label: 'Jedi Order' -}, { - name: 'jenkins', - search: [], - styles: ['brands'], - label: 'Jenkis' -}, { - name: 'jira', - search: ['atlassian'], - styles: ['brands'], - label: 'Jira' -}, { - name: 'joget', - search: [], - styles: ['brands'], - label: 'Joget' -}, { - name: 'joint', - search: ['blunt', 'cannabis', 'doobie', 'drugs', 'marijuana', 'roach', 'smoke', 'smoking', 'spliff'], - styles: ['solid'], - label: 'Joint' -}, { - name: 'joomla', - search: [], - styles: ['brands'], - label: 'Joomla Logo' -}, { - name: 'journal-whills', - search: ['book', 'force', 'jedi', 'sith', 'star wars', 'yoda'], - styles: ['solid'], - label: 'Journal of the Whills' -}, { - name: 'js', - search: [], - styles: ['brands'], - label: 'JavaScript (JS)' -}, { - name: 'js-square', - search: [], - styles: ['brands'], - label: 'JavaScript (JS) Square' -}, { - name: 'jsfiddle', - search: [], - styles: ['brands'], - label: 'jsFiddle' -}, { - name: 'kaaba', - search: ['building', 'cube', 'islam', 'muslim'], - styles: ['solid'], - label: 'Kaaba' -}, { - name: 'kaggle', - search: [], - styles: ['brands'], - label: 'Kaggle' -}, { - name: 'key', - search: ['lock', 'password', 'private', 'secret', 'unlock'], - styles: ['solid'], - label: 'key' -}, { - name: 'keybase', - search: [], - styles: ['brands'], - label: 'Keybase' -}, { - name: 'keyboard', - search: ['accessory', 'edit', 'input', 'text', 'type', 'write'], - styles: ['solid', 'regular'], - label: 'Keyboard' -}, { - name: 'keycdn', - search: [], - styles: ['brands'], - label: 'KeyCDN' -}, { - name: 'khanda', - search: ['chakkar', 'sikh', 'sikhism', 'sword'], - styles: ['solid'], - label: 'Khanda' -}, { - name: 'kickstarter', - search: [], - styles: ['brands'], - label: 'Kickstarter' -}, { - name: 'kickstarter-k', - search: [], - styles: ['brands'], - label: 'Kickstarter K' -}, { - name: 'kiss', - search: ['beso', 'emoticon', 'face', 'love', 'smooch'], - styles: ['solid', 'regular'], - label: 'Kissing Face' -}, { - name: 'kiss-beam', - search: ['beso', 'emoticon', 'face', 'love', 'smooch'], - styles: ['solid', 'regular'], - label: 'Kissing Face With Smiling Eyes' -}, { - name: 'kiss-wink-heart', - search: ['beso', 'emoticon', 'face', 'love', 'smooch'], - styles: ['solid', 'regular'], - label: 'Face Blowing a Kiss' -}, { - name: 'kiwi-bird', - search: ['bird', 'fauna', 'new zealand'], - styles: ['solid'], - label: 'Kiwi Bird' -}, { - name: 'korvue', - search: [], - styles: ['brands'], - label: 'KORVUE' -}, { - name: 'landmark', - search: ['building', 'historic', 'memorable', 'monument', 'politics'], - styles: ['solid'], - label: 'Landmark' -}, { - name: 'language', - search: ['dialect', 'idiom', 'localize', 'speech', 'translate', 'vernacular'], - styles: ['solid'], - label: 'Language' -}, { - name: 'laptop', - search: ['computer', 'cpu', 'dell', 'demo', 'device', 'mac', 'macbook', 'machine', 'pc'], - styles: ['solid'], - label: 'Laptop' -}, { - name: 'laptop-code', - search: ['computer', 'cpu', 'dell', 'demo', 'develop', 'device', 'mac', 'macbook', 'machine', 'pc'], - styles: ['solid'], - label: 'Laptop Code' -}, { - name: 'laptop-house', - search: ['computer', 'covid-19', 'device', 'office', 'remote', 'work from home'], - styles: ['solid'], - label: 'Laptop House' -}, { - name: 'laptop-medical', - search: ['computer', 'device', 'ehr', 'electronic health records', 'history'], - styles: ['solid'], - label: 'Laptop Medical' -}, { - name: 'laravel', - search: [], - styles: ['brands'], - label: 'Laravel' -}, { - name: 'lastfm', - search: [], - styles: ['brands'], - label: 'last.fm' -}, { - name: 'lastfm-square', - search: [], - styles: ['brands'], - label: 'last.fm Square' -}, { - name: 'laugh', - search: ['LOL', 'emoticon', 'face', 'laugh', 'smile'], - styles: ['solid', 'regular'], - label: 'Grinning Face With Big Eyes' -}, { - name: 'laugh-beam', - search: ['LOL', 'emoticon', 'face', 'happy', 'smile'], - styles: ['solid', 'regular'], - label: 'Laugh Face with Beaming Eyes' -}, { - name: 'laugh-squint', - search: ['LOL', 'emoticon', 'face', 'happy', 'smile'], - styles: ['solid', 'regular'], - label: 'Laughing Squinting Face' -}, { - name: 'laugh-wink', - search: ['LOL', 'emoticon', 'face', 'happy', 'smile'], - styles: ['solid', 'regular'], - label: 'Laughing Winking Face' -}, { - name: 'layer-group', - search: ['arrange', 'develop', 'layers', 'map', 'stack'], - styles: ['solid'], - label: 'Layer Group' -}, { - name: 'leaf', - search: ['eco', 'flora', 'nature', 'plant', 'vegan'], - styles: ['solid'], - label: 'leaf' -}, { - name: 'leanpub', - search: [], - styles: ['brands'], - label: 'Leanpub' -}, { - name: 'lemon', - search: ['citrus', 'lemonade', 'lime', 'tart'], - styles: ['solid', 'regular'], - label: 'Lemon' -}, { - name: 'less', - search: [], - styles: ['brands'], - label: 'Less' -}, { - name: 'less-than', - search: ['arithmetic', 'compare', 'math'], - styles: ['solid'], - label: 'Less Than' -}, { - name: 'less-than-equal', - search: ['arithmetic', 'compare', 'math'], - styles: ['solid'], - label: 'Less Than Equal To' -}, { - name: 'level-down-alt', - search: ['arrow', 'level-down'], - styles: ['solid'], - label: 'Alternate Level Down' -}, { - name: 'level-up-alt', - search: ['arrow', 'level-up'], - styles: ['solid'], - label: 'Alternate Level Up' -}, { - name: 'life-ring', - search: ['coast guard', 'help', 'overboard', 'save', 'support'], - styles: ['solid', 'regular'], - label: 'Life Ring' -}, { - name: 'lightbulb', - search: ['energy', 'idea', 'inspiration', 'light'], - styles: ['solid', 'regular'], - label: 'Lightbulb' -}, { - name: 'line', - search: [], - styles: ['brands'], - label: 'Line' -}, { - name: 'link', - search: ['attach', 'attachment', 'chain', 'connect'], - styles: ['solid'], - label: 'Link' -}, { - name: 'linkedin', - search: ['linkedin-square'], - styles: ['brands'], - label: 'LinkedIn' -}, { - name: 'linkedin-in', - search: ['linkedin'], - styles: ['brands'], - label: 'LinkedIn In' -}, { - name: 'linode', - search: [], - styles: ['brands'], - label: 'Linode' -}, { - name: 'linux', - search: ['tux'], - styles: ['brands'], - label: 'Linux' -}, { - name: 'lira-sign', - search: ['currency', 'money', 'try', 'turkish'], - styles: ['solid'], - label: 'Turkish Lira Sign' -}, { - name: 'list', - search: ['checklist', 'completed', 'done', 'finished', 'ol', 'todo', 'ul'], - styles: ['solid'], - label: 'List' -}, { - name: 'list-alt', - search: ['checklist', 'completed', 'done', 'finished', 'ol', 'todo', 'ul'], - styles: ['solid', 'regular'], - label: 'Alternate List' -}, { - name: 'list-ol', - search: ['checklist', 'completed', 'done', 'finished', 'numbers', 'ol', 'todo', 'ul'], - styles: ['solid'], - label: 'list-ol' -}, { - name: 'list-ul', - search: ['checklist', 'completed', 'done', 'finished', 'ol', 'todo', 'ul'], - styles: ['solid'], - label: 'list-ul' -}, { - name: 'location-arrow', - search: ['address', 'compass', 'coordinate', 'direction', 'gps', 'map', 'navigation', 'place'], - styles: ['solid'], - label: 'location-arrow' -}, { - name: 'lock', - search: ['admin', 'lock', 'open', 'password', 'private', 'protect', 'security'], - styles: ['solid'], - label: 'lock' -}, { - name: 'lock-open', - search: ['admin', 'lock', 'open', 'password', 'private', 'protect', 'security'], - styles: ['solid'], - label: 'Lock Open' -}, { - name: 'long-arrow-alt-down', - search: ['download', 'long-arrow-down'], - styles: ['solid'], - label: 'Alternate Long Arrow Down' -}, { - name: 'long-arrow-alt-left', - search: ['back', 'long-arrow-left', 'previous'], - styles: ['solid'], - label: 'Alternate Long Arrow Left' -}, { - name: 'long-arrow-alt-right', - search: ['forward', 'long-arrow-right', 'next'], - styles: ['solid'], - label: 'Alternate Long Arrow Right' -}, { - name: 'long-arrow-alt-up', - search: ['long-arrow-up', 'upload'], - styles: ['solid'], - label: 'Alternate Long Arrow Up' -}, { - name: 'low-vision', - search: ['blind', 'eye', 'sight'], - styles: ['solid'], - label: 'Low Vision' -}, { - name: 'luggage-cart', - search: ['bag', 'baggage', 'suitcase', 'travel'], - styles: ['solid'], - label: 'Luggage Cart' -}, { - name: 'lungs', - search: ['air', 'breath', 'covid-19', 'organ', 'respiratory'], - styles: ['solid'], - label: 'Lungs' -}, { - name: 'lungs-virus', - search: ['breath', 'covid-19', 'respiratory', 'sick'], - styles: ['solid'], - label: 'Lungs Virus' -}, { - name: 'lyft', - search: [], - styles: ['brands'], - label: 'lyft' -}, { - name: 'magento', - search: [], - styles: ['brands'], - label: 'Magento' -}, { - name: 'magic', - search: ['autocomplete', 'automatic', 'mage', 'magic', 'spell', 'wand', 'witch', 'wizard'], - styles: ['solid'], - label: 'magic' -}, { - name: 'magnet', - search: ['Attract', 'lodestone', 'tool'], - styles: ['solid'], - label: 'magnet' -}, { - name: 'mail-bulk', - search: ['archive', 'envelope', 'letter', 'post office', 'postal', 'postcard', 'send', 'stamp', 'usps'], - styles: ['solid'], - label: 'Mail Bulk' -}, { - name: 'mailchimp', - search: [], - styles: ['brands'], - label: 'Mailchimp' -}, { - name: 'male', - search: ['human', 'man', 'person', 'profile', 'user'], - styles: ['solid'], - label: 'Male' -}, { - name: 'mandalorian', - search: [], - styles: ['brands'], - label: 'Mandalorian' -}, { - name: 'map', - search: ['address', 'coordinates', 'destination', 'gps', 'localize', 'location', 'map', 'navigation', 'paper', 'pin', 'place', 'point of interest', 'position', 'route', 'travel'], - styles: ['solid', 'regular'], - label: 'Map' -}, { - name: 'map-marked', - search: ['address', 'coordinates', 'destination', 'gps', 'localize', 'location', 'map', 'navigation', 'paper', 'pin', 'place', 'point of interest', 'position', 'route', 'travel'], - styles: ['solid'], - label: 'Map Marked' -}, { - name: 'map-marked-alt', - search: ['address', 'coordinates', 'destination', 'gps', 'localize', 'location', 'map', 'navigation', 'paper', 'pin', 'place', 'point of interest', 'position', 'route', 'travel'], - styles: ['solid'], - label: 'Alternate Map Marked' -}, { - name: 'map-marker', - search: ['address', 'coordinates', 'destination', 'gps', 'localize', 'location', 'map', 'navigation', 'paper', 'pin', 'place', 'point of interest', 'position', 'route', 'travel'], - styles: ['solid'], - label: 'map-marker' -}, { - name: 'map-marker-alt', - search: ['address', 'coordinates', 'destination', 'gps', 'localize', 'location', 'map', 'navigation', 'paper', 'pin', 'place', 'point of interest', 'position', 'route', 'travel'], - styles: ['solid'], - label: 'Alternate Map Marker' -}, { - name: 'map-pin', - search: ['address', 'agree', 'coordinates', 'destination', 'gps', 'localize', 'location', 'map', 'marker', 'navigation', 'pin', 'place', 'position', 'travel'], - styles: ['solid'], - label: 'Map Pin' -}, { - name: 'map-signs', - search: ['directions', 'directory', 'map', 'signage', 'wayfinding'], - styles: ['solid'], - label: 'Map Signs' -}, { - name: 'markdown', - search: [], - styles: ['brands'], - label: 'Markdown' -}, { - name: 'marker', - search: ['design', 'edit', 'sharpie', 'update', 'write'], - styles: ['solid'], - label: 'Marker' -}, { - name: 'mars', - search: ['male'], - styles: ['solid'], - label: 'Mars' -}, { - name: 'mars-double', - search: [], - styles: ['solid'], - label: 'Mars Double' -}, { - name: 'mars-stroke', - search: [], - styles: ['solid'], - label: 'Mars Stroke' -}, { - name: 'mars-stroke-h', - search: [], - styles: ['solid'], - label: 'Mars Stroke Horizontal' -}, { - name: 'mars-stroke-v', - search: [], - styles: ['solid'], - label: 'Mars Stroke Vertical' -}, { - name: 'mask', - search: ['carnivale', 'costume', 'disguise', 'halloween', 'secret', 'super hero'], - styles: ['solid'], - label: 'Mask' -}, { - name: 'mastodon', - search: [], - styles: ['brands'], - label: 'Mastodon' -}, { - name: 'maxcdn', - search: [], - styles: ['brands'], - label: 'MaxCDN' -}, { - name: 'mdb', - search: [], - styles: ['brands'], - label: 'Material Design for Bootstrap' -}, { - name: 'medal', - search: ['award', 'ribbon', 'star', 'trophy'], - styles: ['solid'], - label: 'Medal' -}, { - name: 'medapps', - search: [], - styles: ['brands'], - label: 'MedApps' -}, { - name: 'medium', - search: [], - styles: ['brands'], - label: 'Medium' -}, { - name: 'medium-m', - search: [], - styles: ['brands'], - label: 'Medium M' -}, { - name: 'medkit', - search: ['first aid', 'firstaid', 'health', 'help', 'support'], - styles: ['solid'], - label: 'medkit' -}, { - name: 'medrt', - search: [], - styles: ['brands'], - label: 'MRT' -}, { - name: 'meetup', - search: [], - styles: ['brands'], - label: 'Meetup' -}, { - name: 'megaport', - search: [], - styles: ['brands'], - label: 'Megaport' -}, { - name: 'meh', - search: ['emoticon', 'face', 'neutral', 'rating'], - styles: ['solid', 'regular'], - label: 'Neutral Face' -}, { - name: 'meh-blank', - search: ['emoticon', 'face', 'neutral', 'rating'], - styles: ['solid', 'regular'], - label: 'Face Without Mouth' -}, { - name: 'meh-rolling-eyes', - search: ['emoticon', 'face', 'neutral', 'rating'], - styles: ['solid', 'regular'], - label: 'Face With Rolling Eyes' -}, { - name: 'memory', - search: ['DIMM', 'RAM', 'hardware', 'storage', 'technology'], - styles: ['solid'], - label: 'Memory' -}, { - name: 'mendeley', - search: [], - styles: ['brands'], - label: 'Mendeley' -}, { - name: 'menorah', - search: ['candle', 'hanukkah', 'jewish', 'judaism', 'light'], - styles: ['solid'], - label: 'Menorah' -}, { - name: 'mercury', - search: ['transgender'], - styles: ['solid'], - label: 'Mercury' -}, { - name: 'meteor', - search: ['armageddon', 'asteroid', 'comet', 'shooting star', 'space'], - styles: ['solid'], - label: 'Meteor' -}, { - name: 'microblog', - search: [], - styles: ['brands'], - label: 'Micro.blog' -}, { - name: 'microchip', - search: ['cpu', 'hardware', 'processor', 'technology'], - styles: ['solid'], - label: 'Microchip' -}, { - name: 'microphone', - search: ['audio', 'podcast', 'record', 'sing', 'sound', 'voice'], - styles: ['solid'], - label: 'microphone' -}, { - name: 'microphone-alt', - search: ['audio', 'podcast', 'record', 'sing', 'sound', 'voice'], - styles: ['solid'], - label: 'Alternate Microphone' -}, { - name: 'microphone-alt-slash', - search: ['audio', 'disable', 'mute', 'podcast', 'record', 'sing', 'sound', 'voice'], - styles: ['solid'], - label: 'Alternate Microphone Slash' -}, { - name: 'microphone-slash', - search: ['audio', 'disable', 'mute', 'podcast', 'record', 'sing', 'sound', 'voice'], - styles: ['solid'], - label: 'Microphone Slash' -}, { - name: 'microscope', - search: ['covid-19', 'electron', 'lens', 'optics', 'science', 'shrink'], - styles: ['solid'], - label: 'Microscope' -}, { - name: 'microsoft', - search: [], - styles: ['brands'], - label: 'Microsoft' -}, { - name: 'minus', - search: ['collapse', 'delete', 'hide', 'minify', 'negative', 'remove', 'trash'], - styles: ['solid'], - label: 'minus' -}, { - name: 'minus-circle', - search: ['delete', 'hide', 'negative', 'remove', 'shape', 'trash'], - styles: ['solid'], - label: 'Minus Circle' -}, { - name: 'minus-square', - search: ['collapse', 'delete', 'hide', 'minify', 'negative', 'remove', 'shape', 'trash'], - styles: ['solid', 'regular'], - label: 'Minus Square' -}, { - name: 'mitten', - search: ['clothing', 'cold', 'glove', 'hands', 'knitted', 'seasonal', 'warmth'], - styles: ['solid'], - label: 'Mitten' -}, { - name: 'mix', - search: [], - styles: ['brands'], - label: 'Mix' -}, { - name: 'mixcloud', - search: [], - styles: ['brands'], - label: 'Mixcloud' -}, { - name: 'mixer', - search: [], - styles: ['brands'], - label: 'Mixer' -}, { - name: 'mizuni', - search: [], - styles: ['brands'], - label: 'Mizuni' -}, { - name: 'mobile', - search: ['apple', 'call', 'cell phone', 'cellphone', 'device', 'iphone', 'number', 'screen', 'telephone'], - styles: ['solid'], - label: 'Mobile Phone' -}, { - name: 'mobile-alt', - search: ['apple', 'call', 'cell phone', 'cellphone', 'device', 'iphone', 'number', 'screen', 'telephone'], - styles: ['solid'], - label: 'Alternate Mobile' -}, { - name: 'modx', - search: [], - styles: ['brands'], - label: 'MODX' -}, { - name: 'monero', - search: [], - styles: ['brands'], - label: 'Monero' -}, { - name: 'money-bill', - search: ['buy', 'cash', 'checkout', 'money', 'payment', 'price', 'purchase'], - styles: ['solid'], - label: 'Money Bill' -}, { - name: 'money-bill-alt', - search: ['buy', 'cash', 'checkout', 'money', 'payment', 'price', 'purchase'], - styles: ['solid', 'regular'], - label: 'Alternate Money Bill' -}, { - name: 'money-bill-wave', - search: ['buy', 'cash', 'checkout', 'money', 'payment', 'price', 'purchase'], - styles: ['solid'], - label: 'Wavy Money Bill' -}, { - name: 'money-bill-wave-alt', - search: ['buy', 'cash', 'checkout', 'money', 'payment', 'price', 'purchase'], - styles: ['solid'], - label: 'Alternate Wavy Money Bill' -}, { - name: 'money-check', - search: ['bank check', 'buy', 'checkout', 'cheque', 'money', 'payment', 'price', 'purchase'], - styles: ['solid'], - label: 'Money Check' -}, { - name: 'money-check-alt', - search: ['bank check', 'buy', 'checkout', 'cheque', 'money', 'payment', 'price', 'purchase'], - styles: ['solid'], - label: 'Alternate Money Check' -}, { - name: 'monument', - search: ['building', 'historic', 'landmark', 'memorable'], - styles: ['solid'], - label: 'Monument' -}, { - name: 'moon', - search: ['contrast', 'crescent', 'dark', 'lunar', 'night'], - styles: ['solid', 'regular'], - label: 'Moon' -}, { - name: 'mortar-pestle', - search: ['crush', 'culinary', 'grind', 'medical', 'mix', 'pharmacy', 'prescription', 'spices'], - styles: ['solid'], - label: 'Mortar Pestle' -}, { - name: 'mosque', - search: ['building', 'islam', 'landmark', 'muslim'], - styles: ['solid'], - label: 'Mosque' -}, { - name: 'motorcycle', - search: ['bike', 'machine', 'transportation', 'vehicle'], - styles: ['solid'], - label: 'Motorcycle' -}, { - name: 'mountain', - search: ['glacier', 'hiking', 'hill', 'landscape', 'travel', 'view'], - styles: ['solid'], - label: 'Mountain' -}, { - name: 'mouse', - search: ['click', 'computer', 'cursor', 'input', 'peripheral'], - styles: ['solid'], - label: 'Mouse' -}, { - name: 'mouse-pointer', - search: ['arrow', 'cursor', 'select'], - styles: ['solid'], - label: 'Mouse Pointer' -}, { - name: 'mug-hot', - search: ['caliente', 'cocoa', 'coffee', 'cup', 'drink', 'holiday', 'hot chocolate', 'steam', 'tea', 'warmth'], - styles: ['solid'], - label: 'Mug Hot' -}, { - name: 'music', - search: ['lyrics', 'melody', 'note', 'sing', 'sound'], - styles: ['solid'], - label: 'Music' -}, { - name: 'napster', - search: [], - styles: ['brands'], - label: 'Napster' -}, { - name: 'neos', - search: [], - styles: ['brands'], - label: 'Neos' -}, { - name: 'network-wired', - search: ['computer', 'connect', 'ethernet', 'internet', 'intranet'], - styles: ['solid'], - label: 'Wired Network' -}, { - name: 'neuter', - search: [], - styles: ['solid'], - label: 'Neuter' -}, { - name: 'newspaper', - search: ['article', 'editorial', 'headline', 'journal', 'journalism', 'news', 'press'], - styles: ['solid', 'regular'], - label: 'Newspaper' -}, { - name: 'nimblr', - search: [], - styles: ['brands'], - label: 'Nimblr' -}, { - name: 'node', - search: [], - styles: ['brands'], - label: 'Node.js' -}, { - name: 'node-js', - search: [], - styles: ['brands'], - label: 'Node.js JS' -}, { - name: 'not-equal', - search: ['arithmetic', 'compare', 'math'], - styles: ['solid'], - label: 'Not Equal' -}, { - name: 'notes-medical', - search: ['clipboard', 'doctor', 'ehr', 'health', 'history', 'records'], - styles: ['solid'], - label: 'Medical Notes' -}, { - name: 'npm', - search: [], - styles: ['brands'], - label: 'npm' -}, { - name: 'ns8', - search: [], - styles: ['brands'], - label: 'NS8' -}, { - name: 'nutritionix', - search: [], - styles: ['brands'], - label: 'Nutritionix' -}, { - name: 'object-group', - search: ['combine', 'copy', 'design', 'merge', 'select'], - styles: ['solid', 'regular'], - label: 'Object Group' -}, { - name: 'object-ungroup', - search: ['copy', 'design', 'merge', 'select', 'separate'], - styles: ['solid', 'regular'], - label: 'Object Ungroup' -}, { - name: 'odnoklassniki', - search: [], - styles: ['brands'], - label: 'Odnoklassniki' -}, { - name: 'odnoklassniki-square', - search: [], - styles: ['brands'], - label: 'Odnoklassniki Square' -}, { - name: 'oil-can', - search: ['auto', 'crude', 'gasoline', 'grease', 'lubricate', 'petroleum'], - styles: ['solid'], - label: 'Oil Can' -}, { - name: 'old-republic', - search: ['politics', 'star wars'], - styles: ['brands'], - label: 'Old Republic' -}, { - name: 'om', - search: ['buddhism', 'hinduism', 'jainism', 'mantra'], - styles: ['solid'], - label: 'Om' -}, { - name: 'opencart', - search: [], - styles: ['brands'], - label: 'OpenCart' -}, { - name: 'openid', - search: [], - styles: ['brands'], - label: 'OpenID' -}, { - name: 'opera', - search: [], - styles: ['brands'], - label: 'Opera' -}, { - name: 'optin-monster', - search: [], - styles: ['brands'], - label: 'Optin Monster' -}, { - name: 'orcid', - search: [], - styles: ['brands'], - label: 'ORCID' -}, { - name: 'osi', - search: [], - styles: ['brands'], - label: 'Open Source Initiative' -}, { - name: 'otter', - search: ['animal', 'badger', 'fauna', 'fur', 'mammal', 'marten'], - styles: ['solid'], - label: 'Otter' -}, { - name: 'outdent', - search: ['align', 'justify', 'paragraph', 'tab'], - styles: ['solid'], - label: 'Outdent' -}, { - name: 'page4', - search: [], - styles: ['brands'], - label: 'page4 Corporation' -}, { - name: 'pagelines', - search: ['eco', 'flora', 'leaf', 'leaves', 'nature', 'plant', 'tree'], - styles: ['brands'], - label: 'Pagelines' -}, { - name: 'pager', - search: ['beeper', 'cellphone', 'communication'], - styles: ['solid'], - label: 'Pager' -}, { - name: 'paint-brush', - search: ['acrylic', 'art', 'brush', 'color', 'fill', 'paint', 'pigment', 'watercolor'], - styles: ['solid'], - label: 'Paint Brush' -}, { - name: 'paint-roller', - search: ['acrylic', 'art', 'brush', 'color', 'fill', 'paint', 'pigment', 'watercolor'], - styles: ['solid'], - label: 'Paint Roller' -}, { - name: 'palette', - search: ['acrylic', 'art', 'brush', 'color', 'fill', 'paint', 'pigment', 'watercolor'], - styles: ['solid'], - label: 'Palette' -}, { - name: 'palfed', - search: [], - styles: ['brands'], - label: 'Palfed' -}, { - name: 'pallet', - search: ['archive', 'box', 'inventory', 'shipping', 'warehouse'], - styles: ['solid'], - label: 'Pallet' -}, { - name: 'paper-plane', - search: ['air', 'float', 'fold', 'mail', 'paper', 'send'], - styles: ['solid', 'regular'], - label: 'Paper Plane' -}, { - name: 'paperclip', - search: ['attach', 'attachment', 'connect', 'link'], - styles: ['solid'], - label: 'Paperclip' -}, { - name: 'parachute-box', - search: ['aid', 'assistance', 'rescue', 'supplies'], - styles: ['solid'], - label: 'Parachute Box' -}, { - name: 'paragraph', - search: ['edit', 'format', 'text', 'writing'], - styles: ['solid'], - label: 'paragraph' -}, { - name: 'parking', - search: ['auto', 'car', 'garage', 'meter'], - styles: ['solid'], - label: 'Parking' -}, { - name: 'passport', - search: ['document', 'id', 'identification', 'issued', 'travel'], - styles: ['solid'], - label: 'Passport' -}, { - name: 'pastafarianism', - search: ['agnosticism', 'atheism', 'flying spaghetti monster', 'fsm'], - styles: ['solid'], - label: 'Pastafarianism' -}, { - name: 'paste', - search: ['clipboard', 'copy', 'document', 'paper'], - styles: ['solid'], - label: 'Paste' -}, { - name: 'patreon', - search: [], - styles: ['brands'], - label: 'Patreon' -}, { - name: 'pause', - search: ['hold', 'wait'], - styles: ['solid'], - label: 'pause' -}, { - name: 'pause-circle', - search: ['hold', 'wait'], - styles: ['solid', 'regular'], - label: 'Pause Circle' -}, { - name: 'paw', - search: ['animal', 'cat', 'dog', 'pet', 'print'], - styles: ['solid'], - label: 'Paw' -}, { - name: 'paypal', - search: [], - styles: ['brands'], - label: 'Paypal' -}, { - name: 'peace', - search: ['serenity', 'tranquility', 'truce', 'war'], - styles: ['solid'], - label: 'Peace' -}, { - name: 'pen', - search: ['design', 'edit', 'update', 'write'], - styles: ['solid'], - label: 'Pen' -}, { - name: 'pen-alt', - search: ['design', 'edit', 'update', 'write'], - styles: ['solid'], - label: 'Alternate Pen' -}, { - name: 'pen-fancy', - search: ['design', 'edit', 'fountain pen', 'update', 'write'], - styles: ['solid'], - label: 'Pen Fancy' -}, { - name: 'pen-nib', - search: ['design', 'edit', 'fountain pen', 'update', 'write'], - styles: ['solid'], - label: 'Pen Nib' -}, { - name: 'pen-square', - search: ['edit', 'pencil-square', 'update', 'write'], - styles: ['solid'], - label: 'Pen Square' -}, { - name: 'pencil-alt', - search: ['design', 'edit', 'pencil', 'update', 'write'], - styles: ['solid'], - label: 'Alternate Pencil' -}, { - name: 'pencil-ruler', - search: ['design', 'draft', 'draw', 'pencil'], - styles: ['solid'], - label: 'Pencil Ruler' -}, { - name: 'penny-arcade', - search: ['Dungeons & Dragons', 'd&d', 'dnd', 'fantasy', 'game', 'gaming', 'pax', 'tabletop'], - styles: ['brands'], - label: 'Penny Arcade' -}, { - name: 'people-arrows', - search: ['covid-19', 'personal space', 'social distance', 'space', 'spread', 'users'], - styles: ['solid'], - label: 'People Arrows' -}, { - name: 'people-carry', - search: ['box', 'carry', 'fragile', 'help', 'movers', 'package'], - styles: ['solid'], - label: 'People Carry' -}, { - name: 'pepper-hot', - search: ['buffalo wings', 'capsicum', 'chili', 'chilli', 'habanero', 'jalapeno', 'mexican', 'spicy', 'tabasco', 'vegetable'], - styles: ['solid'], - label: 'Hot Pepper' -}, { - name: 'percent', - search: ['discount', 'fraction', 'proportion', 'rate', 'ratio'], - styles: ['solid'], - label: 'Percent' -}, { - name: 'percentage', - search: ['discount', 'fraction', 'proportion', 'rate', 'ratio'], - styles: ['solid'], - label: 'Percentage' -}, { - name: 'periscope', - search: [], - styles: ['brands'], - label: 'Periscope' -}, { - name: 'person-booth', - search: ['changing', 'changing room', 'election', 'human', 'person', 'vote', 'voting'], - styles: ['solid'], - label: 'Person Entering Booth' -}, { - name: 'phabricator', - search: [], - styles: ['brands'], - label: 'Phabricator' -}, { - name: 'phoenix-framework', - search: [], - styles: ['brands'], - label: 'Phoenix Framework' -}, { - name: 'phoenix-squadron', - search: [], - styles: ['brands'], - label: 'Phoenix Squadron' -}, { - name: 'phone', - search: ['call', 'earphone', 'number', 'support', 'telephone', 'voice'], - styles: ['solid'], - label: 'Phone' -}, { - name: 'phone-alt', - search: ['call', 'earphone', 'number', 'support', 'telephone', 'voice'], - styles: ['solid'], - label: 'Alternate Phone' -}, { - name: 'phone-slash', - search: ['call', 'cancel', 'earphone', 'mute', 'number', 'support', 'telephone', 'voice'], - styles: ['solid'], - label: 'Phone Slash' -}, { - name: 'phone-square', - search: ['call', 'earphone', 'number', 'support', 'telephone', 'voice'], - styles: ['solid'], - label: 'Phone Square' -}, { - name: 'phone-square-alt', - search: ['call', 'earphone', 'number', 'support', 'telephone', 'voice'], - styles: ['solid'], - label: 'Alternate Phone Square' -}, { - name: 'phone-volume', - search: ['call', 'earphone', 'number', 'sound', 'support', 'telephone', 'voice', 'volume-control-phone'], - styles: ['solid'], - label: 'Phone Volume' -}, { - name: 'photo-video', - search: ['av', 'film', 'image', 'library', 'media'], - styles: ['solid'], - label: 'Photo Video' -}, { - name: 'php', - search: [], - styles: ['brands'], - label: 'PHP' -}, { - name: 'pied-piper', - search: [], - styles: ['brands'], - label: 'Pied Piper Logo' -}, { - name: 'pied-piper-alt', - search: [], - styles: ['brands'], - label: 'Alternate Pied Piper Logo (Old)' -}, { - name: 'pied-piper-hat', - search: ['clothing'], - styles: ['brands'], - label: 'Pied Piper Hat (Old)' -}, { - name: 'pied-piper-pp', - search: [], - styles: ['brands'], - label: 'Pied Piper PP Logo (Old)' -}, { - name: 'pied-piper-square', - search: [], - styles: ['brands'], - label: 'Pied Piper Square Logo (Old)' -}, { - name: 'piggy-bank', - search: ['bank', 'save', 'savings'], - styles: ['solid'], - label: 'Piggy Bank' -}, { - name: 'pills', - search: ['drugs', 'medicine', 'prescription', 'tablets'], - styles: ['solid'], - label: 'Pills' -}, { - name: 'pinterest', - search: [], - styles: ['brands'], - label: 'Pinterest' -}, { - name: 'pinterest-p', - search: [], - styles: ['brands'], - label: 'Pinterest P' -}, { - name: 'pinterest-square', - search: [], - styles: ['brands'], - label: 'Pinterest Square' -}, { - name: 'pizza-slice', - search: ['cheese', 'chicago', 'italian', 'mozzarella', 'new york', 'pepperoni', 'pie', 'slice', 'teenage mutant ninja turtles', 'tomato'], - styles: ['solid'], - label: 'Pizza Slice' -}, { - name: 'place-of-worship', - search: ['building', 'church', 'holy', 'mosque', 'synagogue'], - styles: ['solid'], - label: 'Place of Worship' -}, { - name: 'plane', - search: ['airplane', 'destination', 'fly', 'location', 'mode', 'travel', 'trip'], - styles: ['solid'], - label: 'plane' -}, { - name: 'plane-arrival', - search: ['airplane', 'arriving', 'destination', 'fly', 'land', 'landing', 'location', 'mode', 'travel', 'trip'], - styles: ['solid'], - label: 'Plane Arrival' -}, { - name: 'plane-departure', - search: ['airplane', 'departing', 'destination', 'fly', 'location', 'mode', 'take off', 'taking off', 'travel', 'trip'], - styles: ['solid'], - label: 'Plane Departure' -}, { - name: 'plane-slash', - search: ['airplane mode', 'canceled', 'covid-19', 'delayed', 'grounded', 'travel'], - styles: ['solid'], - label: 'Plane Slash' -}, { - name: 'play', - search: ['audio', 'music', 'playing', 'sound', 'start', 'video'], - styles: ['solid'], - label: 'play' -}, { - name: 'play-circle', - search: ['audio', 'music', 'playing', 'sound', 'start', 'video'], - styles: ['solid', 'regular'], - label: 'Play Circle' -}, { - name: 'playstation', - search: [], - styles: ['brands'], - label: 'PlayStation' -}, { - name: 'plug', - search: ['connect', 'electric', 'online', 'power'], - styles: ['solid'], - label: 'Plug' -}, { - name: 'plus', - search: ['add', 'create', 'expand', 'new', 'positive', 'shape'], - styles: ['solid'], - label: 'plus' -}, { - name: 'plus-circle', - search: ['add', 'create', 'expand', 'new', 'positive', 'shape'], - styles: ['solid'], - label: 'Plus Circle' -}, { - name: 'plus-square', - search: ['add', 'create', 'expand', 'new', 'positive', 'shape'], - styles: ['solid', 'regular'], - label: 'Plus Square' -}, { - name: 'podcast', - search: ['audio', 'broadcast', 'music', 'sound'], - styles: ['solid'], - label: 'Podcast' -}, { - name: 'poll', - search: ['results', 'survey', 'trend', 'vote', 'voting'], - styles: ['solid'], - label: 'Poll' -}, { - name: 'poll-h', - search: ['results', 'survey', 'trend', 'vote', 'voting'], - styles: ['solid'], - label: 'Poll H' -}, { - name: 'poo', - search: ['crap', 'poop', 'shit', 'smile', 'turd'], - styles: ['solid'], - label: 'Poo' -}, { - name: 'poo-storm', - search: ['bolt', 'cloud', 'euphemism', 'lightning', 'mess', 'poop', 'shit', 'turd'], - styles: ['solid'], - label: 'Poo Storm' -}, { - name: 'poop', - search: ['crap', 'poop', 'shit', 'smile', 'turd'], - styles: ['solid'], - label: 'Poop' -}, { - name: 'portrait', - search: ['id', 'image', 'photo', 'picture', 'selfie'], - styles: ['solid'], - label: 'Portrait' -}, { - name: 'pound-sign', - search: ['currency', 'gbp', 'money'], - styles: ['solid'], - label: 'Pound Sign' -}, { - name: 'power-off', - search: ['cancel', 'computer', 'on', 'reboot', 'restart'], - styles: ['solid'], - label: 'Power Off' -}, { - name: 'pray', - search: ['kneel', 'preach', 'religion', 'worship'], - styles: ['solid'], - label: 'Pray' -}, { - name: 'praying-hands', - search: ['kneel', 'preach', 'religion', 'worship'], - styles: ['solid'], - label: 'Praying Hands' -}, { - name: 'prescription', - search: ['drugs', 'medical', 'medicine', 'pharmacy', 'rx'], - styles: ['solid'], - label: 'Prescription' -}, { - name: 'prescription-bottle', - search: ['drugs', 'medical', 'medicine', 'pharmacy', 'rx'], - styles: ['solid'], - label: 'Prescription Bottle' -}, { - name: 'prescription-bottle-alt', - search: ['drugs', 'medical', 'medicine', 'pharmacy', 'rx'], - styles: ['solid'], - label: 'Alternate Prescription Bottle' -}, { - name: 'print', - search: ['business', 'copy', 'document', 'office', 'paper'], - styles: ['solid'], - label: 'print' -}, { - name: 'procedures', - search: ['EKG', 'bed', 'electrocardiogram', 'health', 'hospital', 'life', 'patient', 'vital'], - styles: ['solid'], - label: 'Procedures' -}, { - name: 'product-hunt', - search: [], - styles: ['brands'], - label: 'Product Hunt' -}, { - name: 'project-diagram', - search: ['chart', 'graph', 'network', 'pert'], - styles: ['solid'], - label: 'Project Diagram' -}, { - name: 'pump-medical', - search: ['anti-bacterial', 'clean', 'covid-19', 'disinfect', 'hygiene', 'medical grade', 'sanitizer', 'soap'], - styles: ['solid'], - label: 'Pump Medical' -}, { - name: 'pump-soap', - search: ['anti-bacterial', 'clean', 'covid-19', 'disinfect', 'hygiene', 'sanitizer', 'soap'], - styles: ['solid'], - label: 'Pump Soap' -}, { - name: 'pushed', - search: [], - styles: ['brands'], - label: 'Pushed' -}, { - name: 'puzzle-piece', - search: ['add-on', 'addon', 'game', 'section'], - styles: ['solid'], - label: 'Puzzle Piece' -}, { - name: 'python', - search: [], - styles: ['brands'], - label: 'Python' -}, { - name: 'qq', - search: [], - styles: ['brands'], - label: 'QQ' -}, { - name: 'qrcode', - search: ['barcode', 'info', 'information', 'scan'], - styles: ['solid'], - label: 'qrcode' -}, { - name: 'question', - search: ['help', 'information', 'support', 'unknown'], - styles: ['solid'], - label: 'Question' -}, { - name: 'question-circle', - search: ['help', 'information', 'support', 'unknown'], - styles: ['solid', 'regular'], - label: 'Question Circle' -}, { - name: 'quidditch', - search: ['ball', 'bludger', 'broom', 'golden snitch', 'harry potter', 'hogwarts', 'quaffle', 'sport', 'wizard'], - styles: ['solid'], - label: 'Quidditch' -}, { - name: 'quinscape', - search: [], - styles: ['brands'], - label: 'QuinScape' -}, { - name: 'quora', - search: [], - styles: ['brands'], - label: 'Quora' -}, { - name: 'quote-left', - search: ['mention', 'note', 'phrase', 'text', 'type'], - styles: ['solid'], - label: 'quote-left' -}, { - name: 'quote-right', - search: ['mention', 'note', 'phrase', 'text', 'type'], - styles: ['solid'], - label: 'quote-right' -}, { - name: 'quran', - search: ['book', 'islam', 'muslim', 'religion'], - styles: ['solid'], - label: 'Quran' -}, { - name: 'r-project', - search: [], - styles: ['brands'], - label: 'R Project' -}, { - name: 'radiation', - search: ['danger', 'dangerous', 'deadly', 'hazard', 'nuclear', 'radioactive', 'warning'], - styles: ['solid'], - label: 'Radiation' -}, { - name: 'radiation-alt', - search: ['danger', 'dangerous', 'deadly', 'hazard', 'nuclear', 'radioactive', 'warning'], - styles: ['solid'], - label: 'Alternate Radiation' -}, { - name: 'rainbow', - search: ['gold', 'leprechaun', 'prism', 'rain', 'sky'], - styles: ['solid'], - label: 'Rainbow' -}, { - name: 'random', - search: ['arrows', 'shuffle', 'sort', 'swap', 'switch', 'transfer'], - styles: ['solid'], - label: 'random' -}, { - name: 'raspberry-pi', - search: [], - styles: ['brands'], - label: 'Raspberry Pi' -}, { - name: 'ravelry', - search: [], - styles: ['brands'], - label: 'Ravelry' -}, { - name: 'react', - search: [], - styles: ['brands'], - label: 'React' -}, { - name: 'reacteurope', - search: [], - styles: ['brands'], - label: 'ReactEurope' -}, { - name: 'readme', - search: [], - styles: ['brands'], - label: 'ReadMe' -}, { - name: 'rebel', - search: [], - styles: ['brands'], - label: 'Rebel Alliance' -}, { - name: 'receipt', - search: ['check', 'invoice', 'money', 'pay', 'table'], - styles: ['solid'], - label: 'Receipt' -}, { - name: 'record-vinyl', - search: ['LP', 'album', 'analog', 'music', 'phonograph', 'sound'], - styles: ['solid'], - label: 'Record Vinyl' -}, { - name: 'recycle', - search: ['Waste', 'compost', 'garbage', 'reuse', 'trash'], - styles: ['solid'], - label: 'Recycle' -}, { - name: 'red-river', - search: [], - styles: ['brands'], - label: 'red river' -}, { - name: 'reddit', - search: [], - styles: ['brands'], - label: 'reddit Logo' -}, { - name: 'reddit-alien', - search: [], - styles: ['brands'], - label: 'reddit Alien' -}, { - name: 'reddit-square', - search: [], - styles: ['brands'], - label: 'reddit Square' -}, { - name: 'redhat', - search: ['linux', 'operating system', 'os'], - styles: ['brands'], - label: 'Redhat' -}, { - name: 'redo', - search: ['forward', 'refresh', 'reload', 'repeat'], - styles: ['solid'], - label: 'Redo' -}, { - name: 'redo-alt', - search: ['forward', 'refresh', 'reload', 'repeat'], - styles: ['solid'], - label: 'Alternate Redo' -}, { - name: 'registered', - search: ['copyright', 'mark', 'trademark'], - styles: ['solid', 'regular'], - label: 'Registered Trademark' -}, { - name: 'remove-format', - search: ['cancel', 'font', 'format', 'remove', 'style', 'text'], - styles: ['solid'], - label: 'Remove Format' -}, { - name: 'renren', - search: [], - styles: ['brands'], - label: 'Renren' -}, { - name: 'reply', - search: ['mail', 'message', 'respond'], - styles: ['solid'], - label: 'Reply' -}, { - name: 'reply-all', - search: ['mail', 'message', 'respond'], - styles: ['solid'], - label: 'reply-all' -}, { - name: 'replyd', - search: [], - styles: ['brands'], - label: 'replyd' -}, { - name: 'republican', - search: ['american', 'conservative', 'election', 'elephant', 'politics', 'republican party', 'right', 'right-wing', 'usa'], - styles: ['solid'], - label: 'Republican' -}, { - name: 'researchgate', - search: [], - styles: ['brands'], - label: 'Researchgate' -}, { - name: 'resolving', - search: [], - styles: ['brands'], - label: 'Resolving' -}, { - name: 'restroom', - search: ['bathroom', 'john', 'loo', 'potty', 'washroom', 'waste', 'wc'], - styles: ['solid'], - label: 'Restroom' -}, { - name: 'retweet', - search: ['refresh', 'reload', 'share', 'swap'], - styles: ['solid'], - label: 'Retweet' -}, { - name: 'rev', - search: [], - styles: ['brands'], - label: 'Rev.io' -}, { - name: 'ribbon', - search: ['badge', 'cause', 'lapel', 'pin'], - styles: ['solid'], - label: 'Ribbon' -}, { - name: 'ring', - search: ['Dungeons & Dragons', 'Gollum', 'band', 'binding', 'd&d', 'dnd', 'engagement', 'fantasy', 'gold', 'jewelry', 'marriage', 'precious'], - styles: ['solid'], - label: 'Ring' -}, { - name: 'road', - search: ['highway', 'map', 'pavement', 'route', 'street', 'travel'], - styles: ['solid'], - label: 'road' -}, { - name: 'robot', - search: ['android', 'automate', 'computer', 'cyborg'], - styles: ['solid'], - label: 'Robot' -}, { - name: 'rocket', - search: ['aircraft', 'app', 'jet', 'launch', 'nasa', 'space'], - styles: ['solid'], - label: 'rocket' -}, { - name: 'rocketchat', - search: [], - styles: ['brands'], - label: 'Rocket.Chat' -}, { - name: 'rockrms', - search: [], - styles: ['brands'], - label: 'Rockrms' -}, { - name: 'route', - search: ['directions', 'navigation', 'travel'], - styles: ['solid'], - label: 'Route' -}, { - name: 'rss', - search: ['blog', 'feed', 'journal', 'news', 'writing'], - styles: ['solid'], - label: 'rss' -}, { - name: 'rss-square', - search: ['blog', 'feed', 'journal', 'news', 'writing'], - styles: ['solid'], - label: 'RSS Square' -}, { - name: 'ruble-sign', - search: ['currency', 'money', 'rub'], - styles: ['solid'], - label: 'Ruble Sign' -}, { - name: 'ruler', - search: ['design', 'draft', 'length', 'measure', 'planning'], - styles: ['solid'], - label: 'Ruler' -}, { - name: 'ruler-combined', - search: ['design', 'draft', 'length', 'measure', 'planning'], - styles: ['solid'], - label: 'Ruler Combined' -}, { - name: 'ruler-horizontal', - search: ['design', 'draft', 'length', 'measure', 'planning'], - styles: ['solid'], - label: 'Ruler Horizontal' -}, { - name: 'ruler-vertical', - search: ['design', 'draft', 'length', 'measure', 'planning'], - styles: ['solid'], - label: 'Ruler Vertical' -}, { - name: 'running', - search: ['exercise', 'health', 'jog', 'person', 'run', 'sport', 'sprint'], - styles: ['solid'], - label: 'Running' -}, { - name: 'rupee-sign', - search: ['currency', 'indian', 'inr', 'money'], - styles: ['solid'], - label: 'Indian Rupee Sign' -}, { - name: 'sad-cry', - search: ['emoticon', 'face', 'tear', 'tears'], - styles: ['solid', 'regular'], - label: 'Crying Face' -}, { - name: 'sad-tear', - search: ['emoticon', 'face', 'tear', 'tears'], - styles: ['solid', 'regular'], - label: 'Loudly Crying Face' -}, { - name: 'safari', - search: ['browser'], - styles: ['brands'], - label: 'Safari' -}, { - name: 'salesforce', - search: [], - styles: ['brands'], - label: 'Salesforce' -}, { - name: 'sass', - search: [], - styles: ['brands'], - label: 'Sass' -}, { - name: 'satellite', - search: ['communications', 'hardware', 'orbit', 'space'], - styles: ['solid'], - label: 'Satellite' -}, { - name: 'satellite-dish', - search: ['SETI', 'communications', 'hardware', 'receiver', 'saucer', 'signal', 'space'], - styles: ['solid'], - label: 'Satellite Dish' -}, { - name: 'save', - search: ['disk', 'download', 'floppy', 'floppy-o'], - styles: ['solid', 'regular'], - label: 'Save' -}, { - name: 'schlix', - search: [], - styles: ['brands'], - label: 'SCHLIX' -}, { - name: 'school', - search: ['building', 'education', 'learn', 'student', 'teacher'], - styles: ['solid'], - label: 'School' -}, { - name: 'screwdriver', - search: ['admin', 'fix', 'mechanic', 'repair', 'settings', 'tool'], - styles: ['solid'], - label: 'Screwdriver' -}, { - name: 'scribd', - search: [], - styles: ['brands'], - label: 'Scribd' -}, { - name: 'scroll', - search: ['Dungeons & Dragons', 'announcement', 'd&d', 'dnd', 'fantasy', 'paper', 'script'], - styles: ['solid'], - label: 'Scroll' -}, { - name: 'sd-card', - search: ['image', 'memory', 'photo', 'save'], - styles: ['solid'], - label: 'Sd Card' -}, { - name: 'search', - search: ['bigger', 'enlarge', 'find', 'magnify', 'preview', 'zoom'], - styles: ['solid'], - label: 'Search' -}, { - name: 'search-dollar', - search: ['bigger', 'enlarge', 'find', 'magnify', 'money', 'preview', 'zoom'], - styles: ['solid'], - label: 'Search Dollar' -}, { - name: 'search-location', - search: ['bigger', 'enlarge', 'find', 'magnify', 'preview', 'zoom'], - styles: ['solid'], - label: 'Search Location' -}, { - name: 'search-minus', - search: ['minify', 'negative', 'smaller', 'zoom', 'zoom out'], - styles: ['solid'], - label: 'Search Minus' -}, { - name: 'search-plus', - search: ['bigger', 'enlarge', 'magnify', 'positive', 'zoom', 'zoom in'], - styles: ['solid'], - label: 'Search Plus' -}, { - name: 'searchengin', - search: [], - styles: ['brands'], - label: 'Searchengin' -}, { - name: 'seedling', - search: ['flora', 'grow', 'plant', 'vegan'], - styles: ['solid'], - label: 'Seedling' -}, { - name: 'sellcast', - search: ['eercast'], - styles: ['brands'], - label: 'Sellcast' -}, { - name: 'sellsy', - search: [], - styles: ['brands'], - label: 'Sellsy' -}, { - name: 'server', - search: ['computer', 'cpu', 'database', 'hardware', 'network'], - styles: ['solid'], - label: 'Server' -}, { - name: 'servicestack', - search: [], - styles: ['brands'], - label: 'Servicestack' -}, { - name: 'shapes', - search: ['blocks', 'build', 'circle', 'square', 'triangle'], - styles: ['solid'], - label: 'Shapes' -}, { - name: 'share', - search: ['forward', 'save', 'send', 'social'], - styles: ['solid'], - label: 'Share' -}, { - name: 'share-alt', - search: ['forward', 'save', 'send', 'social'], - styles: ['solid'], - label: 'Alternate Share' -}, { - name: 'share-alt-square', - search: ['forward', 'save', 'send', 'social'], - styles: ['solid'], - label: 'Alternate Share Square' -}, { - name: 'share-square', - search: ['forward', 'save', 'send', 'social'], - styles: ['solid', 'regular'], - label: 'Share Square' -}, { - name: 'shekel-sign', - search: ['currency', 'ils', 'money'], - styles: ['solid'], - label: 'Shekel Sign' -}, { - name: 'shield-alt', - search: ['achievement', 'award', 'block', 'defend', 'security', 'winner'], - styles: ['solid'], - label: 'Alternate Shield' -}, { - name: 'shield-virus', - search: ['antibodies', 'barrier', 'covid-19', 'health', 'protect'], - styles: ['solid'], - label: 'Shield Virus' -}, { - name: 'ship', - search: ['boat', 'sea', 'water'], - styles: ['solid'], - label: 'Ship' -}, { - name: 'shipping-fast', - search: ['express', 'fedex', 'mail', 'overnight', 'package', 'ups'], - styles: ['solid'], - label: 'Shipping Fast' -}, { - name: 'shirtsinbulk', - search: [], - styles: ['brands'], - label: 'Shirts in Bulk' -}, { - name: 'shoe-prints', - search: ['feet', 'footprints', 'steps', 'walk'], - styles: ['solid'], - label: 'Shoe Prints' -}, { - name: 'shopify', - search: [], - styles: ['brands'], - label: 'Shopify' -}, { - name: 'shopping-bag', - search: ['buy', 'checkout', 'grocery', 'payment', 'purchase'], - styles: ['solid'], - label: 'Shopping Bag' -}, { - name: 'shopping-basket', - search: ['buy', 'checkout', 'grocery', 'payment', 'purchase'], - styles: ['solid'], - label: 'Shopping Basket' -}, { - name: 'shopping-cart', - search: ['buy', 'checkout', 'grocery', 'payment', 'purchase'], - styles: ['solid'], - label: 'shopping-cart' -}, { - name: 'shopware', - search: [], - styles: ['brands'], - label: 'Shopware' -}, { - name: 'shower', - search: ['bath', 'clean', 'faucet', 'water'], - styles: ['solid'], - label: 'Shower' -}, { - name: 'shuttle-van', - search: ['airport', 'machine', 'public-transportation', 'transportation', 'travel', 'vehicle'], - styles: ['solid'], - label: 'Shuttle Van' -}, { - name: 'sign', - search: ['directions', 'real estate', 'signage', 'wayfinding'], - styles: ['solid'], - label: 'Sign' -}, { - name: 'sign-in-alt', - search: ['arrow', 'enter', 'join', 'log in', 'login', 'sign in', 'sign up', 'sign-in', 'signin', 'signup'], - styles: ['solid'], - label: 'Alternate Sign In' -}, { - name: 'sign-language', - search: ['Translate', 'asl', 'deaf', 'hands'], - styles: ['solid'], - label: 'Sign Language' -}, { - name: 'sign-out-alt', - search: ['arrow', 'exit', 'leave', 'log out', 'logout', 'sign-out'], - styles: ['solid'], - label: 'Alternate Sign Out' -}, { - name: 'signal', - search: ['bars', 'graph', 'online', 'reception', 'status'], - styles: ['solid'], - label: 'signal' -}, { - name: 'signature', - search: ['John Hancock', 'cursive', 'name', 'writing'], - styles: ['solid'], - label: 'Signature' -}, { - name: 'sim-card', - search: ['hard drive', 'hardware', 'portable', 'storage', 'technology', 'tiny'], - styles: ['solid'], - label: 'SIM Card' -}, { - name: 'simplybuilt', - search: [], - styles: ['brands'], - label: 'SimplyBuilt' -}, { - name: 'sistrix', - search: [], - styles: ['brands'], - label: 'SISTRIX' -}, { - name: 'sitemap', - search: ['directory', 'hierarchy', 'ia', 'information architecture', 'organization'], - styles: ['solid'], - label: 'Sitemap' -}, { - name: 'sith', - search: [], - styles: ['brands'], - label: 'Sith' -}, { - name: 'skating', - search: ['activity', 'figure skating', 'fitness', 'ice', 'person', 'winter'], - styles: ['solid'], - label: 'Skating' -}, { - name: 'sketch', - search: ['app', 'design', 'interface'], - styles: ['brands'], - label: 'Sketch' -}, { - name: 'skiing', - search: ['activity', 'downhill', 'fast', 'fitness', 'olympics', 'outdoors', 'person', 'seasonal', 'slalom'], - styles: ['solid'], - label: 'Skiing' -}, { - name: 'skiing-nordic', - search: ['activity', 'cross country', 'fitness', 'outdoors', 'person', 'seasonal'], - styles: ['solid'], - label: 'Skiing Nordic' -}, { - name: 'skull', - search: ['bones', 'skeleton', 'x-ray', 'yorick'], - styles: ['solid'], - label: 'Skull' -}, { - name: 'skull-crossbones', - search: ['Dungeons & Dragons', 'alert', 'bones', 'd&d', 'danger', 'dead', 'deadly', 'death', 'dnd', 'fantasy', 'halloween', 'holiday', 'jolly-roger', 'pirate', 'poison', 'skeleton', 'warning'], - styles: ['solid'], - label: 'Skull & Crossbones' -}, { - name: 'skyatlas', - search: [], - styles: ['brands'], - label: 'skyatlas' -}, { - name: 'skype', - search: [], - styles: ['brands'], - label: 'Skype' -}, { - name: 'slack', - search: ['anchor', 'hash', 'hashtag'], - styles: ['brands'], - label: 'Slack Logo' -}, { - name: 'slack-hash', - search: ['anchor', 'hash', 'hashtag'], - styles: ['brands'], - label: 'Slack Hashtag' -}, { - name: 'slash', - search: ['cancel', 'close', 'mute', 'off', 'stop', 'x'], - styles: ['solid'], - label: 'Slash' -}, { - name: 'sleigh', - search: ['christmas', 'claus', 'fly', 'holiday', 'santa', 'sled', 'snow', 'xmas'], - styles: ['solid'], - label: 'Sleigh' -}, { - name: 'sliders-h', - search: ['adjust', 'settings', 'sliders', 'toggle'], - styles: ['solid'], - label: 'Horizontal Sliders' -}, { - name: 'slideshare', - search: [], - styles: ['brands'], - label: 'Slideshare' -}, { - name: 'smile', - search: ['approve', 'emoticon', 'face', 'happy', 'rating', 'satisfied'], - styles: ['solid', 'regular'], - label: 'Smiling Face' -}, { - name: 'smile-beam', - search: ['emoticon', 'face', 'happy', 'positive'], - styles: ['solid', 'regular'], - label: 'Beaming Face With Smiling Eyes' -}, { - name: 'smile-wink', - search: ['emoticon', 'face', 'happy', 'hint', 'joke'], - styles: ['solid', 'regular'], - label: 'Winking Face' -}, { - name: 'smog', - search: ['dragon', 'fog', 'haze', 'pollution', 'smoke', 'weather'], - styles: ['solid'], - label: 'Smog' -}, { - name: 'smoking', - search: ['cancer', 'cigarette', 'nicotine', 'smoking status', 'tobacco'], - styles: ['solid'], - label: 'Smoking' -}, { - name: 'smoking-ban', - search: ['ban', 'cancel', 'no smoking', 'non-smoking'], - styles: ['solid'], - label: 'Smoking Ban' -}, { - name: 'sms', - search: ['chat', 'conversation', 'message', 'mobile', 'notification', 'phone', 'sms', 'texting'], - styles: ['solid'], - label: 'SMS' -}, { - name: 'snapchat', - search: [], - styles: ['brands'], - label: 'Snapchat' -}, { - name: 'snapchat-ghost', - search: [], - styles: ['brands'], - label: 'Snapchat Ghost' -}, { - name: 'snapchat-square', - search: [], - styles: ['brands'], - label: 'Snapchat Square' -}, { - name: 'snowboarding', - search: ['activity', 'fitness', 'olympics', 'outdoors', 'person'], - styles: ['solid'], - label: 'Snowboarding' -}, { - name: 'snowflake', - search: ['precipitation', 'rain', 'winter'], - styles: ['solid', 'regular'], - label: 'Snowflake' -}, { - name: 'snowman', - search: ['decoration', 'frost', 'frosty', 'holiday'], - styles: ['solid'], - label: 'Snowman' -}, { - name: 'snowplow', - search: ['clean up', 'cold', 'road', 'storm', 'winter'], - styles: ['solid'], - label: 'Snowplow' -}, { - name: 'soap', - search: ['bubbles', 'clean', 'covid-19', 'hygiene', 'wash'], - styles: ['solid'], - label: 'Soap' -}, { - name: 'socks', - search: ['business socks', 'business time', 'clothing', 'feet', 'flight of the conchords', 'wednesday'], - styles: ['solid'], - label: 'Socks' -}, { - name: 'solar-panel', - search: ['clean', 'eco-friendly', 'energy', 'green', 'sun'], - styles: ['solid'], - label: 'Solar Panel' -}, { - name: 'sort', - search: ['filter', 'order'], - styles: ['solid'], - label: 'Sort' -}, { - name: 'sort-alpha-down', - search: ['alphabetical', 'arrange', 'filter', 'order', 'sort-alpha-asc'], - styles: ['solid'], - label: 'Sort Alphabetical Down' -}, { - name: 'sort-alpha-down-alt', - search: ['alphabetical', 'arrange', 'filter', 'order', 'sort-alpha-asc'], - styles: ['solid'], - label: 'Alternate Sort Alphabetical Down' -}, { - name: 'sort-alpha-up', - search: ['alphabetical', 'arrange', 'filter', 'order', 'sort-alpha-desc'], - styles: ['solid'], - label: 'Sort Alphabetical Up' -}, { - name: 'sort-alpha-up-alt', - search: ['alphabetical', 'arrange', 'filter', 'order', 'sort-alpha-desc'], - styles: ['solid'], - label: 'Alternate Sort Alphabetical Up' -}, { - name: 'sort-amount-down', - search: ['arrange', 'filter', 'number', 'order', 'sort-amount-asc'], - styles: ['solid'], - label: 'Sort Amount Down' -}, { - name: 'sort-amount-down-alt', - search: ['arrange', 'filter', 'order', 'sort-amount-asc'], - styles: ['solid'], - label: 'Alternate Sort Amount Down' -}, { - name: 'sort-amount-up', - search: ['arrange', 'filter', 'order', 'sort-amount-desc'], - styles: ['solid'], - label: 'Sort Amount Up' -}, { - name: 'sort-amount-up-alt', - search: ['arrange', 'filter', 'order', 'sort-amount-desc'], - styles: ['solid'], - label: 'Alternate Sort Amount Up' -}, { - name: 'sort-down', - search: ['arrow', 'descending', 'filter', 'order', 'sort-desc'], - styles: ['solid'], - label: 'Sort Down (Descending)' -}, { - name: 'sort-numeric-down', - search: ['arrange', 'filter', 'numbers', 'order', 'sort-numeric-asc'], - styles: ['solid'], - label: 'Sort Numeric Down' -}, { - name: 'sort-numeric-down-alt', - search: ['arrange', 'filter', 'numbers', 'order', 'sort-numeric-asc'], - styles: ['solid'], - label: 'Alternate Sort Numeric Down' -}, { - name: 'sort-numeric-up', - search: ['arrange', 'filter', 'numbers', 'order', 'sort-numeric-desc'], - styles: ['solid'], - label: 'Sort Numeric Up' -}, { - name: 'sort-numeric-up-alt', - search: ['arrange', 'filter', 'numbers', 'order', 'sort-numeric-desc'], - styles: ['solid'], - label: 'Alternate Sort Numeric Up' -}, { - name: 'sort-up', - search: ['arrow', 'ascending', 'filter', 'order', 'sort-asc'], - styles: ['solid'], - label: 'Sort Up (Ascending)' -}, { - name: 'soundcloud', - search: [], - styles: ['brands'], - label: 'SoundCloud' -}, { - name: 'sourcetree', - search: [], - styles: ['brands'], - label: 'Sourcetree' -}, { - name: 'spa', - search: ['flora', 'massage', 'mindfulness', 'plant', 'wellness'], - styles: ['solid'], - label: 'Spa' -}, { - name: 'space-shuttle', - search: ['astronaut', 'machine', 'nasa', 'rocket', 'space', 'transportation'], - styles: ['solid'], - label: 'Space Shuttle' -}, { - name: 'speakap', - search: [], - styles: ['brands'], - label: 'Speakap' -}, { - name: 'speaker-deck', - search: [], - styles: ['brands'], - label: 'Speaker Deck' -}, { - name: 'spell-check', - search: ['dictionary', 'edit', 'editor', 'grammar', 'text'], - styles: ['solid'], - label: 'Spell Check' -}, { - name: 'spider', - search: ['arachnid', 'bug', 'charlotte', 'crawl', 'eight', 'halloween'], - styles: ['solid'], - label: 'Spider' -}, { - name: 'spinner', - search: ['circle', 'loading', 'progress'], - styles: ['solid'], - label: 'Spinner' -}, { - name: 'splotch', - search: ['Ink', 'blob', 'blotch', 'glob', 'stain'], - styles: ['solid'], - label: 'Splotch' -}, { - name: 'spotify', - search: [], - styles: ['brands'], - label: 'Spotify' -}, { - name: 'spray-can', - search: ['Paint', 'aerosol', 'design', 'graffiti', 'tag'], - styles: ['solid'], - label: 'Spray Can' -}, { - name: 'square', - search: ['block', 'box', 'shape'], - styles: ['solid', 'regular'], - label: 'Square' -}, { - name: 'square-full', - search: ['block', 'box', 'shape'], - styles: ['solid'], - label: 'Square Full' -}, { - name: 'square-root-alt', - search: ['arithmetic', 'calculus', 'division', 'math'], - styles: ['solid'], - label: 'Alternate Square Root' -}, { - name: 'squarespace', - search: [], - styles: ['brands'], - label: 'Squarespace' -}, { - name: 'stack-exchange', - search: [], - styles: ['brands'], - label: 'Stack Exchange' -}, { - name: 'stack-overflow', - search: [], - styles: ['brands'], - label: 'Stack Overflow' -}, { - name: 'stackpath', - search: [], - styles: ['brands'], - label: 'Stackpath' -}, { - name: 'stamp', - search: ['art', 'certificate', 'imprint', 'rubber', 'seal'], - styles: ['solid'], - label: 'Stamp' -}, { - name: 'star', - search: ['achievement', 'award', 'favorite', 'important', 'night', 'rating', 'score'], - styles: ['solid', 'regular'], - label: 'Star' -}, { - name: 'star-and-crescent', - search: ['islam', 'muslim', 'religion'], - styles: ['solid'], - label: 'Star and Crescent' -}, { - name: 'star-half', - search: ['achievement', 'award', 'rating', 'score', 'star-half-empty', 'star-half-full'], - styles: ['solid', 'regular'], - label: 'star-half' -}, { - name: 'star-half-alt', - search: ['achievement', 'award', 'rating', 'score', 'star-half-empty', 'star-half-full'], - styles: ['solid'], - label: 'Alternate Star Half' -}, { - name: 'star-of-david', - search: ['jewish', 'judaism', 'religion'], - styles: ['solid'], - label: 'Star of David' -}, { - name: 'star-of-life', - search: ['doctor', 'emt', 'first aid', 'health', 'medical'], - styles: ['solid'], - label: 'Star of Life' -}, { - name: 'staylinked', - search: [], - styles: ['brands'], - label: 'StayLinked' -}, { - name: 'steam', - search: [], - styles: ['brands'], - label: 'Steam' -}, { - name: 'steam-square', - search: [], - styles: ['brands'], - label: 'Steam Square' -}, { - name: 'steam-symbol', - search: [], - styles: ['brands'], - label: 'Steam Symbol' -}, { - name: 'step-backward', - search: ['beginning', 'first', 'previous', 'rewind', 'start'], - styles: ['solid'], - label: 'step-backward' -}, { - name: 'step-forward', - search: ['end', 'last', 'next'], - styles: ['solid'], - label: 'step-forward' -}, { - name: 'stethoscope', - search: ['covid-19', 'diagnosis', 'doctor', 'general practitioner', 'hospital', 'infirmary', 'medicine', 'office', 'outpatient'], - styles: ['solid'], - label: 'Stethoscope' -}, { - name: 'sticker-mule', - search: [], - styles: ['brands'], - label: 'Sticker Mule' -}, { - name: 'sticky-note', - search: ['message', 'note', 'paper', 'reminder', 'sticker'], - styles: ['solid', 'regular'], - label: 'Sticky Note' -}, { - name: 'stop', - search: ['block', 'box', 'square'], - styles: ['solid'], - label: 'stop' -}, { - name: 'stop-circle', - search: ['block', 'box', 'circle', 'square'], - styles: ['solid', 'regular'], - label: 'Stop Circle' -}, { - name: 'stopwatch', - search: ['clock', 'reminder', 'time'], - styles: ['solid'], - label: 'Stopwatch' -}, { - name: 'stopwatch-20', - search: ['ABCs', 'countdown', 'covid-19', 'happy birthday', 'i will survive', 'reminder', 'seconds', 'time', 'timer'], - styles: ['solid'], - label: 'Stopwatch 20' -}, { - name: 'store', - search: ['building', 'buy', 'purchase', 'shopping'], - styles: ['solid'], - label: 'Store' -}, { - name: 'store-alt', - search: ['building', 'buy', 'purchase', 'shopping'], - styles: ['solid'], - label: 'Alternate Store' -}, { - name: 'store-alt-slash', - search: ['building', 'buy', 'closed', 'covid-19', 'purchase', 'shopping'], - styles: ['solid'], - label: 'Alternate Store Slash' -}, { - name: 'store-slash', - search: ['building', 'buy', 'closed', 'covid-19', 'purchase', 'shopping'], - styles: ['solid'], - label: 'Store Slash' -}, { - name: 'strava', - search: [], - styles: ['brands'], - label: 'Strava' -}, { - name: 'stream', - search: ['flow', 'list', 'timeline'], - styles: ['solid'], - label: 'Stream' -}, { - name: 'street-view', - search: ['directions', 'location', 'map', 'navigation'], - styles: ['solid'], - label: 'Street View' -}, { - name: 'strikethrough', - search: ['cancel', 'edit', 'font', 'format', 'text', 'type'], - styles: ['solid'], - label: 'Strikethrough' -}, { - name: 'stripe', - search: [], - styles: ['brands'], - label: 'Stripe' -}, { - name: 'stripe-s', - search: [], - styles: ['brands'], - label: 'Stripe S' -}, { - name: 'stroopwafel', - search: ['caramel', 'cookie', 'dessert', 'sweets', 'waffle'], - styles: ['solid'], - label: 'Stroopwafel' -}, { - name: 'studiovinari', - search: [], - styles: ['brands'], - label: 'Studio Vinari' -}, { - name: 'stumbleupon', - search: [], - styles: ['brands'], - label: 'StumbleUpon Logo' -}, { - name: 'stumbleupon-circle', - search: [], - styles: ['brands'], - label: 'StumbleUpon Circle' -}, { - name: 'subscript', - search: ['edit', 'font', 'format', 'text', 'type'], - styles: ['solid'], - label: 'subscript' -}, { - name: 'subway', - search: ['machine', 'railway', 'train', 'transportation', 'vehicle'], - styles: ['solid'], - label: 'Subway' -}, { - name: 'suitcase', - search: ['baggage', 'luggage', 'move', 'suitcase', 'travel', 'trip'], - styles: ['solid'], - label: 'Suitcase' -}, { - name: 'suitcase-rolling', - search: ['baggage', 'luggage', 'move', 'suitcase', 'travel', 'trip'], - styles: ['solid'], - label: 'Suitcase Rolling' -}, { - name: 'sun', - search: ['brighten', 'contrast', 'day', 'lighter', 'sol', 'solar', 'star', 'weather'], - styles: ['solid', 'regular'], - label: 'Sun' -}, { - name: 'superpowers', - search: [], - styles: ['brands'], - label: 'Superpowers' -}, { - name: 'superscript', - search: ['edit', 'exponential', 'font', 'format', 'text', 'type'], - styles: ['solid'], - label: 'superscript' -}, { - name: 'supple', - search: [], - styles: ['brands'], - label: 'Supple' -}, { - name: 'surprise', - search: ['emoticon', 'face', 'shocked'], - styles: ['solid', 'regular'], - label: 'Hushed Face' -}, { - name: 'suse', - search: ['linux', 'operating system', 'os'], - styles: ['brands'], - label: 'Suse' -}, { - name: 'swatchbook', - search: ['Pantone', 'color', 'design', 'hue', 'palette'], - styles: ['solid'], - label: 'Swatchbook' -}, { - name: 'swift', - search: [], - styles: ['brands'], - label: 'Swift' -}, { - name: 'swimmer', - search: ['athlete', 'head', 'man', 'olympics', 'person', 'pool', 'water'], - styles: ['solid'], - label: 'Swimmer' -}, { - name: 'swimming-pool', - search: ['ladder', 'recreation', 'swim', 'water'], - styles: ['solid'], - label: 'Swimming Pool' -}, { - name: 'symfony', - search: [], - styles: ['brands'], - label: 'Symfony' -}, { - name: 'synagogue', - search: ['building', 'jewish', 'judaism', 'religion', 'star of david', 'temple'], - styles: ['solid'], - label: 'Synagogue' -}, { - name: 'sync', - search: ['exchange', 'refresh', 'reload', 'rotate', 'swap'], - styles: ['solid'], - label: 'Sync' -}, { - name: 'sync-alt', - search: ['exchange', 'refresh', 'reload', 'rotate', 'swap'], - styles: ['solid'], - label: 'Alternate Sync' -}, { - name: 'syringe', - search: ['covid-19', 'doctor', 'immunizations', 'medical', 'needle'], - styles: ['solid'], - label: 'Syringe' -}, { - name: 'table', - search: ['data', 'excel', 'spreadsheet'], - styles: ['solid'], - label: 'table' -}, { - name: 'table-tennis', - search: ['ball', 'paddle', 'ping pong'], - styles: ['solid'], - label: 'Table Tennis' -}, { - name: 'tablet', - search: ['apple', 'device', 'ipad', 'kindle', 'screen'], - styles: ['solid'], - label: 'tablet' -}, { - name: 'tablet-alt', - search: ['apple', 'device', 'ipad', 'kindle', 'screen'], - styles: ['solid'], - label: 'Alternate Tablet' -}, { - name: 'tablets', - search: ['drugs', 'medicine', 'pills', 'prescription'], - styles: ['solid'], - label: 'Tablets' -}, { - name: 'tachometer-alt', - search: ['dashboard', 'fast', 'odometer', 'speed', 'speedometer'], - styles: ['solid'], - label: 'Alternate Tachometer' -}, { - name: 'tag', - search: ['discount', 'label', 'price', 'shopping'], - styles: ['solid'], - label: 'tag' -}, { - name: 'tags', - search: ['discount', 'label', 'price', 'shopping'], - styles: ['solid'], - label: 'tags' -}, { - name: 'tape', - search: ['design', 'package', 'sticky'], - styles: ['solid'], - label: 'Tape' -}, { - name: 'tasks', - search: ['checklist', 'downloading', 'downloads', 'loading', 'progress', 'project management', 'settings', 'to do'], - styles: ['solid'], - label: 'Tasks' -}, { - name: 'taxi', - search: ['cab', 'cabbie', 'car', 'car service', 'lyft', 'machine', 'transportation', 'travel', 'uber', 'vehicle'], - styles: ['solid'], - label: 'Taxi' -}, { - name: 'teamspeak', - search: [], - styles: ['brands'], - label: 'TeamSpeak' -}, { - name: 'teeth', - search: ['bite', 'dental', 'dentist', 'gums', 'mouth', 'smile', 'tooth'], - styles: ['solid'], - label: 'Teeth' -}, { - name: 'teeth-open', - search: ['dental', 'dentist', 'gums bite', 'mouth', 'smile', 'tooth'], - styles: ['solid'], - label: 'Teeth Open' -}, { - name: 'telegram', - search: [], - styles: ['brands'], - label: 'Telegram' -}, { - name: 'telegram-plane', - search: [], - styles: ['brands'], - label: 'Telegram Plane' -}, { - name: 'temperature-high', - search: ['cook', 'covid-19', 'mercury', 'summer', 'thermometer', 'warm'], - styles: ['solid'], - label: 'High Temperature' -}, { - name: 'temperature-low', - search: ['cold', 'cool', 'covid-19', 'mercury', 'thermometer', 'winter'], - styles: ['solid'], - label: 'Low Temperature' -}, { - name: 'tencent-weibo', - search: [], - styles: ['brands'], - label: 'Tencent Weibo' -}, { - name: 'tenge', - search: ['currency', 'kazakhstan', 'money', 'price'], - styles: ['solid'], - label: 'Tenge' -}, { - name: 'terminal', - search: ['code', 'command', 'console', 'development', 'prompt'], - styles: ['solid'], - label: 'Terminal' -}, { - name: 'text-height', - search: ['edit', 'font', 'format', 'text', 'type'], - styles: ['solid'], - label: 'text-height' -}, { - name: 'text-width', - search: ['edit', 'font', 'format', 'text', 'type'], - styles: ['solid'], - label: 'Text Width' -}, { - name: 'th', - search: ['blocks', 'boxes', 'grid', 'squares'], - styles: ['solid'], - label: 'th' -}, { - name: 'th-large', - search: ['blocks', 'boxes', 'grid', 'squares'], - styles: ['solid'], - label: 'th-large' -}, { - name: 'th-list', - search: ['checklist', 'completed', 'done', 'finished', 'ol', 'todo', 'ul'], - styles: ['solid'], - label: 'th-list' -}, { - name: 'the-red-yeti', - search: [], - styles: ['brands'], - label: 'The Red Yeti' -}, { - name: 'theater-masks', - search: ['comedy', 'perform', 'theatre', 'tragedy'], - styles: ['solid'], - label: 'Theater Masks' -}, { - name: 'themeco', - search: [], - styles: ['brands'], - label: 'Themeco' -}, { - name: 'themeisle', - search: [], - styles: ['brands'], - label: 'ThemeIsle' -}, { - name: 'thermometer', - search: ['covid-19', 'mercury', 'status', 'temperature'], - styles: ['solid'], - label: 'Thermometer' -}, { - name: 'thermometer-empty', - search: ['cold', 'mercury', 'status', 'temperature'], - styles: ['solid'], - label: 'Thermometer Empty' -}, { - name: 'thermometer-full', - search: ['fever', 'hot', 'mercury', 'status', 'temperature'], - styles: ['solid'], - label: 'Thermometer Full' -}, { - name: 'thermometer-half', - search: ['mercury', 'status', 'temperature'], - styles: ['solid'], - label: 'Thermometer 1/2 Full' -}, { - name: 'thermometer-quarter', - search: ['mercury', 'status', 'temperature'], - styles: ['solid'], - label: 'Thermometer 1/4 Full' -}, { - name: 'thermometer-three-quarters', - search: ['mercury', 'status', 'temperature'], - styles: ['solid'], - label: 'Thermometer 3/4 Full' -}, { - name: 'think-peaks', - search: [], - styles: ['brands'], - label: 'Think Peaks' -}, { - name: 'thumbs-down', - search: ['disagree', 'disapprove', 'dislike', 'hand', 'social', 'thumbs-o-down'], - styles: ['solid', 'regular'], - label: 'thumbs-down' -}, { - name: 'thumbs-up', - search: ['agree', 'approve', 'favorite', 'hand', 'like', 'ok', 'okay', 'social', 'success', 'thumbs-o-up', 'yes', 'you got it dude'], - styles: ['solid', 'regular'], - label: 'thumbs-up' -}, { - name: 'thumbtack', - search: ['coordinates', 'location', 'marker', 'pin', 'thumb-tack'], - styles: ['solid'], - label: 'Thumbtack' -}, { - name: 'ticket-alt', - search: ['movie', 'pass', 'support', 'ticket'], - styles: ['solid'], - label: 'Alternate Ticket' -}, { - name: 'times', - search: ['close', 'cross', 'error', 'exit', 'incorrect', 'notice', 'notification', 'notify', 'problem', 'wrong', 'x'], - styles: ['solid'], - label: 'Times' -}, { - name: 'times-circle', - search: ['close', 'cross', 'exit', 'incorrect', 'notice', 'notification', 'notify', 'problem', 'wrong', 'x'], - styles: ['solid', 'regular'], - label: 'Times Circle' -}, { - name: 'tint', - search: ['color', 'drop', 'droplet', 'raindrop', 'waterdrop'], - styles: ['solid'], - label: 'tint' -}, { - name: 'tint-slash', - search: ['color', 'drop', 'droplet', 'raindrop', 'waterdrop'], - styles: ['solid'], - label: 'Tint Slash' -}, { - name: 'tired', - search: ['angry', 'emoticon', 'face', 'grumpy', 'upset'], - styles: ['solid', 'regular'], - label: 'Tired Face' -}, { - name: 'toggle-off', - search: ['switch'], - styles: ['solid'], - label: 'Toggle Off' -}, { - name: 'toggle-on', - search: ['switch'], - styles: ['solid'], - label: 'Toggle On' -}, { - name: 'toilet', - search: ['bathroom', 'flush', 'john', 'loo', 'pee', 'plumbing', 'poop', 'porcelain', 'potty', 'restroom', 'throne', 'washroom', 'waste', 'wc'], - styles: ['solid'], - label: 'Toilet' -}, { - name: 'toilet-paper', - search: ['bathroom', 'covid-19', 'halloween', 'holiday', 'lavatory', 'prank', 'restroom', 'roll'], - styles: ['solid'], - label: 'Toilet Paper' -}, { - name: 'toilet-paper-slash', - search: ['bathroom', 'covid-19', 'halloween', 'holiday', 'lavatory', 'leaves', 'prank', 'restroom', 'roll', 'trouble', 'ut oh'], - styles: ['solid'], - label: 'Toilet Paper Slash' -}, { - name: 'toolbox', - search: ['admin', 'container', 'fix', 'repair', 'settings', 'tools'], - styles: ['solid'], - label: 'Toolbox' -}, { - name: 'tools', - search: ['admin', 'fix', 'repair', 'screwdriver', 'settings', 'tools', 'wrench'], - styles: ['solid'], - label: 'Tools' -}, { - name: 'tooth', - search: ['bicuspid', 'dental', 'dentist', 'molar', 'mouth', 'teeth'], - styles: ['solid'], - label: 'Tooth' -}, { - name: 'torah', - search: ['book', 'jewish', 'judaism', 'religion', 'scroll'], - styles: ['solid'], - label: 'Torah' -}, { - name: 'torii-gate', - search: ['building', 'shintoism'], - styles: ['solid'], - label: 'Torii Gate' -}, { - name: 'tractor', - search: ['agriculture', 'farm', 'vehicle'], - styles: ['solid'], - label: 'Tractor' -}, { - name: 'trade-federation', - search: [], - styles: ['brands'], - label: 'Trade Federation' -}, { - name: 'trademark', - search: ['copyright', 'register', 'symbol'], - styles: ['solid'], - label: 'Trademark' -}, { - name: 'traffic-light', - search: ['direction', 'road', 'signal', 'travel'], - styles: ['solid'], - label: 'Traffic Light' -}, { - name: 'trailer', - search: ['carry', 'haul', 'moving', 'travel'], - styles: ['solid'], - label: 'Trailer' -}, { - name: 'train', - search: ['bullet', 'commute', 'locomotive', 'railway', 'subway'], - styles: ['solid'], - label: 'Train' -}, { - name: 'tram', - search: ['crossing', 'machine', 'mountains', 'seasonal', 'transportation'], - styles: ['solid'], - label: 'Tram' -}, { - name: 'transgender', - search: ['intersex'], - styles: ['solid'], - label: 'Transgender' -}, { - name: 'transgender-alt', - search: ['intersex'], - styles: ['solid'], - label: 'Alternate Transgender' -}, { - name: 'trash', - search: ['delete', 'garbage', 'hide', 'remove'], - styles: ['solid'], - label: 'Trash' -}, { - name: 'trash-alt', - search: ['delete', 'garbage', 'hide', 'remove', 'trash-o'], - styles: ['solid', 'regular'], - label: 'Alternate Trash' -}, { - name: 'trash-restore', - search: ['back', 'control z', 'oops', 'undo'], - styles: ['solid'], - label: 'Trash Restore' -}, { - name: 'trash-restore-alt', - search: ['back', 'control z', 'oops', 'undo'], - styles: ['solid'], - label: 'Alternative Trash Restore' -}, { - name: 'tree', - search: ['bark', 'fall', 'flora', 'forest', 'nature', 'plant', 'seasonal'], - styles: ['solid'], - label: 'Tree' -}, { - name: 'trello', - search: ['atlassian'], - styles: ['brands'], - label: 'Trello' -}, { - name: 'tripadvisor', - search: [], - styles: ['brands'], - label: 'TripAdvisor' -}, { - name: 'trophy', - search: ['achievement', 'award', 'cup', 'game', 'winner'], - styles: ['solid'], - label: 'trophy' -}, { - name: 'truck', - search: ['cargo', 'delivery', 'shipping', 'vehicle'], - styles: ['solid'], - label: 'truck' -}, { - name: 'truck-loading', - search: ['box', 'cargo', 'delivery', 'inventory', 'moving', 'rental', 'vehicle'], - styles: ['solid'], - label: 'Truck Loading' -}, { - name: 'truck-monster', - search: ['offroad', 'vehicle', 'wheel'], - styles: ['solid'], - label: 'Truck Monster' -}, { - name: 'truck-moving', - search: ['cargo', 'inventory', 'rental', 'vehicle'], - styles: ['solid'], - label: 'Truck Moving' -}, { - name: 'truck-pickup', - search: ['cargo', 'vehicle'], - styles: ['solid'], - label: 'Truck Side' -}, { - name: 'tshirt', - search: ['clothing', 'fashion', 'garment', 'shirt'], - styles: ['solid'], - label: 'T-Shirt' -}, { - name: 'tty', - search: ['communication', 'deaf', 'telephone', 'teletypewriter', 'text'], - styles: ['solid'], - label: 'TTY' -}, { - name: 'tumblr', - search: [], - styles: ['brands'], - label: 'Tumblr' -}, { - name: 'tumblr-square', - search: [], - styles: ['brands'], - label: 'Tumblr Square' -}, { - name: 'tv', - search: ['computer', 'display', 'monitor', 'television'], - styles: ['solid'], - label: 'Television' -}, { - name: 'twitch', - search: [], - styles: ['brands'], - label: 'Twitch' -}, { - name: 'twitter', - search: ['social network', 'tweet'], - styles: ['brands'], - label: 'Twitter' -}, { - name: 'twitter-square', - search: ['social network', 'tweet'], - styles: ['brands'], - label: 'Twitter Square' -}, { - name: 'typo3', - search: [], - styles: ['brands'], - label: 'Typo3' -}, { - name: 'uber', - search: [], - styles: ['brands'], - label: 'Uber' -}, { - name: 'ubuntu', - search: ['linux', 'operating system', 'os'], - styles: ['brands'], - label: 'Ubuntu' -}, { - name: 'uikit', - search: [], - styles: ['brands'], - label: 'UIkit' -}, { - name: 'umbraco', - search: [], - styles: ['brands'], - label: 'Umbraco' -}, { - name: 'umbrella', - search: ['protection', 'rain', 'storm', 'wet'], - styles: ['solid'], - label: 'Umbrella' -}, { - name: 'umbrella-beach', - search: ['protection', 'recreation', 'sand', 'shade', 'summer', 'sun'], - styles: ['solid'], - label: 'Umbrella Beach' -}, { - name: 'underline', - search: ['edit', 'emphasis', 'format', 'text', 'writing'], - styles: ['solid'], - label: 'Underline' -}, { - name: 'undo', - search: ['back', 'control z', 'exchange', 'oops', 'return', 'rotate', 'swap'], - styles: ['solid'], - label: 'Undo' -}, { - name: 'undo-alt', - search: ['back', 'control z', 'exchange', 'oops', 'return', 'swap'], - styles: ['solid'], - label: 'Alternate Undo' -}, { - name: 'uniregistry', - search: [], - styles: ['brands'], - label: 'Uniregistry' -}, { - name: 'unity', - search: [], - styles: ['brands'], - label: 'Unity 3D' -}, { - name: 'universal-access', - search: ['accessibility', 'hearing', 'person', 'seeing', 'visual impairment'], - styles: ['solid'], - label: 'Universal Access' -}, { - name: 'university', - search: ['bank', 'building', 'college', 'higher education - students', 'institution'], - styles: ['solid'], - label: 'University' -}, { - name: 'unlink', - search: ['attachment', 'chain', 'chain-broken', 'remove'], - styles: ['solid'], - label: 'unlink' -}, { - name: 'unlock', - search: ['admin', 'lock', 'password', 'private', 'protect'], - styles: ['solid'], - label: 'unlock' -}, { - name: 'unlock-alt', - search: ['admin', 'lock', 'password', 'private', 'protect'], - styles: ['solid'], - label: 'Alternate Unlock' -}, { - name: 'untappd', - search: [], - styles: ['brands'], - label: 'Untappd' -}, { - name: 'upload', - search: ['hard drive', 'import', 'publish'], - styles: ['solid'], - label: 'Upload' -}, { - name: 'ups', - search: ['United Parcel Service', 'package', 'shipping'], - styles: ['brands'], - label: 'UPS' -}, { - name: 'usb', - search: [], - styles: ['brands'], - label: 'USB' -}, { - name: 'user', - search: ['account', 'avatar', 'head', 'human', 'man', 'person', 'profile'], - styles: ['solid', 'regular'], - label: 'User' -}, { - name: 'user-alt', - search: ['account', 'avatar', 'head', 'human', 'man', 'person', 'profile'], - styles: ['solid'], - label: 'Alternate User' -}, { - name: 'user-alt-slash', - search: ['account', 'avatar', 'head', 'human', 'man', 'person', 'profile'], - styles: ['solid'], - label: 'Alternate User Slash' -}, { - name: 'user-astronaut', - search: ['avatar', 'clothing', 'cosmonaut', 'nasa', 'space', 'suit'], - styles: ['solid'], - label: 'User Astronaut' -}, { - name: 'user-check', - search: ['accept', 'check', 'person', 'verified'], - styles: ['solid'], - label: 'User Check' -}, { - name: 'user-circle', - search: ['account', 'avatar', 'head', 'human', 'man', 'person', 'profile'], - styles: ['solid', 'regular'], - label: 'User Circle' -}, { - name: 'user-clock', - search: ['alert', 'person', 'remind', 'time'], - styles: ['solid'], - label: 'User Clock' -}, { - name: 'user-cog', - search: ['admin', 'cog', 'person', 'settings'], - styles: ['solid'], - label: 'User Cog' -}, { - name: 'user-edit', - search: ['edit', 'pen', 'pencil', 'person', 'update', 'write'], - styles: ['solid'], - label: 'User Edit' -}, { - name: 'user-friends', - search: ['group', 'people', 'person', 'team', 'users'], - styles: ['solid'], - label: 'User Friends' -}, { - name: 'user-graduate', - search: ['cap', 'clothing', 'commencement', 'gown', 'graduation', 'person', 'student'], - styles: ['solid'], - label: 'User Graduate' -}, { - name: 'user-injured', - search: ['cast', 'injury', 'ouch', 'patient', 'person', 'sling'], - styles: ['solid'], - label: 'User Injured' -}, { - name: 'user-lock', - search: ['admin', 'lock', 'person', 'private', 'unlock'], - styles: ['solid'], - label: 'User Lock' -}, { - name: 'user-md', - search: ['covid-19', 'job', 'medical', 'nurse', 'occupation', 'physician', 'profile', 'surgeon'], - styles: ['solid'], - label: 'Doctor' -}, { - name: 'user-minus', - search: ['delete', 'negative', 'remove'], - styles: ['solid'], - label: 'User Minus' -}, { - name: 'user-ninja', - search: ['assassin', 'avatar', 'dangerous', 'deadly', 'sneaky'], - styles: ['solid'], - label: 'User Ninja' -}, { - name: 'user-nurse', - search: ['covid-19', 'doctor', 'midwife', 'practitioner', 'surgeon'], - styles: ['solid'], - label: 'Nurse' -}, { - name: 'user-plus', - search: ['add', 'avatar', 'positive', 'sign up', 'signup', 'team'], - styles: ['solid'], - label: 'User Plus' -}, { - name: 'user-secret', - search: ['clothing', 'coat', 'hat', 'incognito', 'person', 'privacy', 'spy', 'whisper'], - styles: ['solid'], - label: 'User Secret' -}, { - name: 'user-shield', - search: ['admin', 'person', 'private', 'protect', 'safe'], - styles: ['solid'], - label: 'User Shield' -}, { - name: 'user-slash', - search: ['ban', 'delete', 'remove'], - styles: ['solid'], - label: 'User Slash' -}, { - name: 'user-tag', - search: ['avatar', 'discount', 'label', 'person', 'role', 'special'], - styles: ['solid'], - label: 'User Tag' -}, { - name: 'user-tie', - search: ['avatar', 'business', 'clothing', 'formal', 'professional', 'suit'], - styles: ['solid'], - label: 'User Tie' -}, { - name: 'user-times', - search: ['archive', 'delete', 'remove', 'x'], - styles: ['solid'], - label: 'Remove User' -}, { - name: 'users', - search: ['friends', 'group', 'people', 'persons', 'profiles', 'team'], - styles: ['solid'], - label: 'Users' -}, { - name: 'users-cog', - search: ['admin', 'cog', 'group', 'person', 'settings', 'team'], - styles: ['solid'], - label: 'Users Cog' -}, { - name: 'usps', - search: ['american', 'package', 'shipping', 'usa'], - styles: ['brands'], - label: 'United States Postal Service' -}, { - name: 'ussunnah', - search: [], - styles: ['brands'], - label: 'us-Sunnah Foundation' -}, { - name: 'utensil-spoon', - search: ['cutlery', 'dining', 'scoop', 'silverware', 'spoon'], - styles: ['solid'], - label: 'Utensil Spoon' -}, { - name: 'utensils', - search: ['cutlery', 'dining', 'dinner', 'eat', 'food', 'fork', 'knife', 'restaurant'], - styles: ['solid'], - label: 'Utensils' -}, { - name: 'vaadin', - search: [], - styles: ['brands'], - label: 'Vaadin' -}, { - name: 'vector-square', - search: ['anchors', 'lines', 'object', 'render', 'shape'], - styles: ['solid'], - label: 'Vector Square' -}, { - name: 'venus', - search: ['female'], - styles: ['solid'], - label: 'Venus' -}, { - name: 'venus-double', - search: ['female'], - styles: ['solid'], - label: 'Venus Double' -}, { - name: 'venus-mars', - search: ['Gender'], - styles: ['solid'], - label: 'Venus Mars' -}, { - name: 'viacoin', - search: [], - styles: ['brands'], - label: 'Viacoin' -}, { - name: 'viadeo', - search: [], - styles: ['brands'], - label: 'Video' -}, { - name: 'viadeo-square', - search: [], - styles: ['brands'], - label: 'Video Square' -}, { - name: 'vial', - search: ['experiment', 'lab', 'sample', 'science', 'test', 'test tube'], - styles: ['solid'], - label: 'Vial' -}, { - name: 'vials', - search: ['experiment', 'lab', 'sample', 'science', 'test', 'test tube'], - styles: ['solid'], - label: 'Vials' -}, { - name: 'viber', - search: [], - styles: ['brands'], - label: 'Viber' -}, { - name: 'video', - search: ['camera', 'film', 'movie', 'record', 'video-camera'], - styles: ['solid'], - label: 'Video' -}, { - name: 'video-slash', - search: ['add', 'create', 'film', 'new', 'positive', 'record', 'video'], - styles: ['solid'], - label: 'Video Slash' -}, { - name: 'vihara', - search: ['buddhism', 'buddhist', 'building', 'monastery'], - styles: ['solid'], - label: 'Vihara' -}, { - name: 'vimeo', - search: [], - styles: ['brands'], - label: 'Vimeo' -}, { - name: 'vimeo-square', - search: [], - styles: ['brands'], - label: 'Vimeo Square' -}, { - name: 'vimeo-v', - search: ['vimeo'], - styles: ['brands'], - label: 'Vimeo' -}, { - name: 'vine', - search: [], - styles: ['brands'], - label: 'Vine' -}, { - name: 'virus', - search: ['bug', 'covid-19', 'flu', 'health', 'sick', 'viral'], - styles: ['solid'], - label: 'Virus' -}, { - name: 'virus-slash', - search: ['bug', 'covid-19', 'cure', 'eliminate', 'flu', 'health', 'sick', 'viral'], - styles: ['solid'], - label: 'Virus Slash' -}, { - name: 'viruses', - search: ['bugs', 'covid-19', 'flu', 'health', 'multiply', 'sick', 'spread', 'viral'], - styles: ['solid'], - label: 'Viruses' -}, { - name: 'vk', - search: [], - styles: ['brands'], - label: 'VK' -}, { - name: 'vnv', - search: [], - styles: ['brands'], - label: 'VNV' -}, { - name: 'voicemail', - search: ['answer', 'inbox', 'message', 'phone'], - styles: ['solid'], - label: 'Voicemail' -}, { - name: 'volleyball-ball', - search: ['beach', 'olympics', 'sport'], - styles: ['solid'], - label: 'Volleyball Ball' -}, { - name: 'volume-down', - search: ['audio', 'lower', 'music', 'quieter', 'sound', 'speaker'], - styles: ['solid'], - label: 'Volume Down' -}, { - name: 'volume-mute', - search: ['audio', 'music', 'quiet', 'sound', 'speaker'], - styles: ['solid'], - label: 'Volume Mute' -}, { - name: 'volume-off', - search: ['audio', 'ban', 'music', 'mute', 'quiet', 'silent', 'sound'], - styles: ['solid'], - label: 'Volume Off' -}, { - name: 'volume-up', - search: ['audio', 'higher', 'louder', 'music', 'sound', 'speaker'], - styles: ['solid'], - label: 'Volume Up' -}, { - name: 'vote-yea', - search: ['accept', 'cast', 'election', 'politics', 'positive', 'yes'], - styles: ['solid'], - label: 'Vote Yea' -}, { - name: 'vr-cardboard', - search: ['3d', 'augment', 'google', 'reality', 'virtual'], - styles: ['solid'], - label: 'Cardboard VR' -}, { - name: 'vuejs', - search: [], - styles: ['brands'], - label: 'Vue.js' -}, { - name: 'walking', - search: ['exercise', 'health', 'pedometer', 'person', 'steps'], - styles: ['solid'], - label: 'Walking' -}, { - name: 'wallet', - search: ['billfold', 'cash', 'currency', 'money'], - styles: ['solid'], - label: 'Wallet' -}, { - name: 'warehouse', - search: ['building', 'capacity', 'garage', 'inventory', 'storage'], - styles: ['solid'], - label: 'Warehouse' -}, { - name: 'water', - search: ['lake', 'liquid', 'ocean', 'sea', 'swim', 'wet'], - styles: ['solid'], - label: 'Water' -}, { - name: 'wave-square', - search: ['frequency', 'pulse', 'signal'], - styles: ['solid'], - label: 'Square Wave' -}, { - name: 'waze', - search: [], - styles: ['brands'], - label: 'Waze' -}, { - name: 'weebly', - search: [], - styles: ['brands'], - label: 'Weebly' -}, { - name: 'weibo', - search: [], - styles: ['brands'], - label: 'Weibo' -}, { - name: 'weight', - search: ['health', 'measurement', 'scale', 'weight'], - styles: ['solid'], - label: 'Weight' -}, { - name: 'weight-hanging', - search: ['anvil', 'heavy', 'measurement'], - styles: ['solid'], - label: 'Hanging Weight' -}, { - name: 'weixin', - search: [], - styles: ['brands'], - label: 'Weixin (WeChat)' -}, { - name: 'whatsapp', - search: [], - styles: ['brands'], - label: 'What\'s App' -}, { - name: 'whatsapp-square', - search: [], - styles: ['brands'], - label: 'What\'s App Square' -}, { - name: 'wheelchair', - search: ['accessible', 'handicap', 'person'], - styles: ['solid'], - label: 'Wheelchair' -}, { - name: 'whmcs', - search: [], - styles: ['brands'], - label: 'WHMCS' -}, { - name: 'wifi', - search: ['connection', 'hotspot', 'internet', 'network', 'wireless'], - styles: ['solid'], - label: 'WiFi' -}, { - name: 'wikipedia-w', - search: [], - styles: ['brands'], - label: 'Wikipedia W' -}, { - name: 'wind', - search: ['air', 'blow', 'breeze', 'fall', 'seasonal', 'weather'], - styles: ['solid'], - label: 'Wind' -}, { - name: 'window-close', - search: ['browser', 'cancel', 'computer', 'development'], - styles: ['solid', 'regular'], - label: 'Window Close' -}, { - name: 'window-maximize', - search: ['browser', 'computer', 'development', 'expand'], - styles: ['solid', 'regular'], - label: 'Window Maximize' -}, { - name: 'window-minimize', - search: ['browser', 'collapse', 'computer', 'development'], - styles: ['solid', 'regular'], - label: 'Window Minimize' -}, { - name: 'window-restore', - search: ['browser', 'computer', 'development'], - styles: ['solid', 'regular'], - label: 'Window Restore' -}, { - name: 'windows', - search: ['microsoft', 'operating system', 'os'], - styles: ['brands'], - label: 'Windows' -}, { - name: 'wine-bottle', - search: ['alcohol', 'beverage', 'cabernet', 'drink', 'glass', 'grapes', 'merlot', 'sauvignon'], - styles: ['solid'], - label: 'Wine Bottle' -}, { - name: 'wine-glass', - search: ['alcohol', 'beverage', 'cabernet', 'drink', 'grapes', 'merlot', 'sauvignon'], - styles: ['solid'], - label: 'Wine Glass' -}, { - name: 'wine-glass-alt', - search: ['alcohol', 'beverage', 'cabernet', 'drink', 'grapes', 'merlot', 'sauvignon'], - styles: ['solid'], - label: 'Alternate Wine Glas' -}, { - name: 'wix', - search: [], - styles: ['brands'], - label: 'Wix' -}, { - name: 'wizards-of-the-coast', - search: ['Dungeons & Dragons', 'd&d', 'dnd', 'fantasy', 'game', 'gaming', 'tabletop'], - styles: ['brands'], - label: 'Wizards of the Coast' -}, { - name: 'wolf-pack-battalion', - search: [], - styles: ['brands'], - label: 'Wolf Pack Battalion' -}, { - name: 'won-sign', - search: ['currency', 'krw', 'money'], - styles: ['solid'], - label: 'Won Sign' -}, { - name: 'wordpress', - search: [], - styles: ['brands'], - label: 'WordPress Logo' -}, { - name: 'wordpress-simple', - search: [], - styles: ['brands'], - label: 'Wordpress Simple' -}, { - name: 'wpbeginner', - search: [], - styles: ['brands'], - label: 'WPBeginner' -}, { - name: 'wpexplorer', - search: [], - styles: ['brands'], - label: 'WPExplorer' -}, { - name: 'wpforms', - search: [], - styles: ['brands'], - label: 'WPForms' -}, { - name: 'wpressr', - search: ['rendact'], - styles: ['brands'], - label: 'wpressr' -}, { - name: 'wrench', - search: ['construction', 'fix', 'mechanic', 'plumbing', 'settings', 'spanner', 'tool', 'update'], - styles: ['solid'], - label: 'Wrench' -}, { - name: 'x-ray', - search: ['health', 'medical', 'radiological images', 'radiology', 'skeleton'], - styles: ['solid'], - label: 'X-Ray' -}, { - name: 'xbox', - search: [], - styles: ['brands'], - label: 'Xbox' -}, { - name: 'xing', - search: [], - styles: ['brands'], - label: 'Xing' -}, { - name: 'xing-square', - search: [], - styles: ['brands'], - label: 'Xing Square' -}, { - name: 'y-combinator', - search: [], - styles: ['brands'], - label: 'Y Combinator' -}, { - name: 'yahoo', - search: [], - styles: ['brands'], - label: 'Yahoo Logo' -}, { - name: 'yammer', - search: [], - styles: ['brands'], - label: 'Yammer' -}, { - name: 'yandex', - search: [], - styles: ['brands'], - label: 'Yandex' -}, { - name: 'yandex-international', - search: [], - styles: ['brands'], - label: 'Yandex International' -}, { - name: 'yarn', - search: [], - styles: ['brands'], - label: 'Yarn' -}, { - name: 'yelp', - search: [], - styles: ['brands'], - label: 'Yelp' -}, { - name: 'yen-sign', - search: ['currency', 'jpy', 'money'], - styles: ['solid'], - label: 'Yen Sign' -}, { - name: 'yin-yang', - search: ['daoism', 'opposites', 'taoism'], - styles: ['solid'], - label: 'Yin Yang' -}, { - name: 'yoast', - search: [], - styles: ['brands'], - label: 'Yoast' -}, { - name: 'youtube', - search: ['film', 'video', 'youtube-play', 'youtube-square'], - styles: ['brands'], - label: 'YouTube' -}, { - name: 'youtube-square', - search: [], - styles: ['brands'], - label: 'YouTube Square' -}, { - name: 'zhihu', - search: [], - styles: ['brands'], - label: 'Zhihu' -}]; +export const fontawesome = [ + { + name: '500px', + search: [], + styles: ['brands'], + label: '500px', + }, + { + name: 'accessible-icon', + search: [ + 'accessibility', + 'handicap', + 'person', + 'wheelchair', + 'wheelchair-alt', + ], + styles: ['brands'], + label: 'Accessible Icon', + }, + { + name: 'accusoft', + search: [], + styles: ['brands'], + label: 'Accusoft', + }, + { + name: 'acquisitions-incorporated', + search: [ + 'Dungeons & Dragons', + 'd&d', + 'dnd', + 'fantasy', + 'game', + 'gaming', + 'tabletop', + ], + styles: ['brands'], + label: 'Acquisitions Incorporated', + }, + { + name: 'ad', + search: ['advertisement', 'media', 'newspaper', 'promotion', 'publicity'], + styles: ['solid'], + label: 'Ad', + }, + { + name: 'address-book', + search: ['contact', 'directory', 'index', 'little black book', 'rolodex'], + styles: ['solid', 'regular'], + label: 'Address Book', + }, + { + name: 'address-card', + search: ['about', 'contact', 'id', 'identification', 'postcard', 'profile'], + styles: ['solid', 'regular'], + label: 'Address Card', + }, + { + name: 'adjust', + search: ['contrast', 'dark', 'light', 'saturation'], + styles: ['solid'], + label: 'adjust', + }, + { + name: 'adn', + search: [], + styles: ['brands'], + label: 'App.net', + }, + { + name: 'adobe', + search: [ + 'acrobat', + 'app', + 'design', + 'illustrator', + 'indesign', + 'photoshop', + ], + styles: ['brands'], + label: 'Adobe', + }, + { + name: 'adversal', + search: [], + styles: ['brands'], + label: 'Adversal', + }, + { + name: 'affiliatetheme', + search: [], + styles: ['brands'], + label: 'affiliatetheme', + }, + { + name: 'air-freshener', + search: ['car', 'deodorize', 'fresh', 'pine', 'scent'], + styles: ['solid'], + label: 'Air Freshener', + }, + { + name: 'airbnb', + search: [], + styles: ['brands'], + label: 'Airbnb', + }, + { + name: 'algolia', + search: [], + styles: ['brands'], + label: 'Algolia', + }, + { + name: 'align-center', + search: ['format', 'middle', 'paragraph', 'text'], + styles: ['solid'], + label: 'align-center', + }, + { + name: 'align-justify', + search: ['format', 'paragraph', 'text'], + styles: ['solid'], + label: 'align-justify', + }, + { + name: 'align-left', + search: ['format', 'paragraph', 'text'], + styles: ['solid'], + label: 'align-left', + }, + { + name: 'align-right', + search: ['format', 'paragraph', 'text'], + styles: ['solid'], + label: 'align-right', + }, + { + name: 'alipay', + search: [], + styles: ['brands'], + label: 'Alipay', + }, + { + name: 'allergies', + search: ['allergy', 'freckles', 'hand', 'hives', 'pox', 'skin', 'spots'], + styles: ['solid'], + label: 'Allergies', + }, + { + name: 'amazon', + search: [], + styles: ['brands'], + label: 'Amazon', + }, + { + name: 'amazon-pay', + search: [], + styles: ['brands'], + label: 'Amazon Pay', + }, + { + name: 'ambulance', + search: [ + 'covid-19', + 'emergency', + 'emt', + 'er', + 'help', + 'hospital', + 'support', + 'vehicle', + ], + styles: ['solid'], + label: 'ambulance', + }, + { + name: 'american-sign-language-interpreting', + search: ['asl', 'deaf', 'finger', 'hand', 'interpret', 'speak'], + styles: ['solid'], + label: 'American Sign Language Interpreting', + }, + { + name: 'amilia', + search: [], + styles: ['brands'], + label: 'Amilia', + }, + { + name: 'anchor', + search: [ + 'berth', + 'boat', + 'dock', + 'embed', + 'link', + 'maritime', + 'moor', + 'secure', + ], + styles: ['solid'], + label: 'Anchor', + }, + { + name: 'android', + search: ['robot'], + styles: ['brands'], + label: 'Android', + }, + { + name: 'angellist', + search: [], + styles: ['brands'], + label: 'AngelList', + }, + { + name: 'angle-double-down', + search: ['arrows', 'caret', 'download', 'expand'], + styles: ['solid'], + label: 'Angle Double Down', + }, + { + name: 'angle-double-left', + search: ['arrows', 'back', 'caret', 'laquo', 'previous', 'quote'], + styles: ['solid'], + label: 'Angle Double Left', + }, + { + name: 'angle-double-right', + search: ['arrows', 'caret', 'forward', 'more', 'next', 'quote', 'raquo'], + styles: ['solid'], + label: 'Angle Double Right', + }, + { + name: 'angle-double-up', + search: ['arrows', 'caret', 'collapse', 'upload'], + styles: ['solid'], + label: 'Angle Double Up', + }, + { + name: 'angle-down', + search: ['arrow', 'caret', 'download', 'expand'], + styles: ['solid'], + label: 'angle-down', + }, + { + name: 'angle-left', + search: ['arrow', 'back', 'caret', 'less', 'previous'], + styles: ['solid'], + label: 'angle-left', + }, + { + name: 'angle-right', + search: ['arrow', 'care', 'forward', 'more', 'next'], + styles: ['solid'], + label: 'angle-right', + }, + { + name: 'angle-up', + search: ['arrow', 'caret', 'collapse', 'upload'], + styles: ['solid'], + label: 'angle-up', + }, + { + name: 'angry', + search: ['disapprove', 'emoticon', 'face', 'mad', 'upset'], + styles: ['solid', 'regular'], + label: 'Angry Face', + }, + { + name: 'angrycreative', + search: [], + styles: ['brands'], + label: 'Angry Creative', + }, + { + name: 'angular', + search: [], + styles: ['brands'], + label: 'Angular', + }, + { + name: 'ankh', + search: [ + 'amulet', + 'copper', + 'coptic christianity', + 'copts', + 'crux ansata', + 'egypt', + 'venus', + ], + styles: ['solid'], + label: 'Ankh', + }, + { + name: 'app-store', + search: [], + styles: ['brands'], + label: 'App Store', + }, + { + name: 'app-store-ios', + search: [], + styles: ['brands'], + label: 'iOS App Store', + }, + { + name: 'apper', + search: [], + styles: ['brands'], + label: 'Apper Systems AB', + }, + { + name: 'apple', + search: ['fruit', 'ios', 'mac', 'operating system', 'os', 'osx'], + styles: ['brands'], + label: 'Apple', + }, + { + name: 'apple-alt', + search: [ + 'fall', + 'fruit', + 'fuji', + 'macintosh', + 'orchard', + 'seasonal', + 'vegan', + ], + styles: ['solid'], + label: 'Fruit Apple', + }, + { + name: 'apple-pay', + search: [], + styles: ['brands'], + label: 'Apple Pay', + }, + { + name: 'archive', + search: ['box', 'package', 'save', 'storage'], + styles: ['solid'], + label: 'Archive', + }, + { + name: 'archway', + search: ['arc', 'monument', 'road', 'street', 'tunnel'], + styles: ['solid'], + label: 'Archway', + }, + { + name: 'arrow-alt-circle-down', + search: ['arrow-circle-o-down', 'download'], + styles: ['solid', 'regular'], + label: 'Alternate Arrow Circle Down', + }, + { + name: 'arrow-alt-circle-left', + search: ['arrow-circle-o-left', 'back', 'previous'], + styles: ['solid', 'regular'], + label: 'Alternate Arrow Circle Left', + }, + { + name: 'arrow-alt-circle-right', + search: ['arrow-circle-o-right', 'forward', 'next'], + styles: ['solid', 'regular'], + label: 'Alternate Arrow Circle Right', + }, + { + name: 'arrow-alt-circle-up', + search: ['arrow-circle-o-up'], + styles: ['solid', 'regular'], + label: 'Alternate Arrow Circle Up', + }, + { + name: 'arrow-circle-down', + search: ['download'], + styles: ['solid'], + label: 'Arrow Circle Down', + }, + { + name: 'arrow-circle-left', + search: ['back', 'previous'], + styles: ['solid'], + label: 'Arrow Circle Left', + }, + { + name: 'arrow-circle-right', + search: ['forward', 'next'], + styles: ['solid'], + label: 'Arrow Circle Right', + }, + { + name: 'arrow-circle-up', + search: ['upload'], + styles: ['solid'], + label: 'Arrow Circle Up', + }, + { + name: 'arrow-down', + search: ['download'], + styles: ['solid'], + label: 'arrow-down', + }, + { + name: 'arrow-left', + search: ['back', 'previous'], + styles: ['solid'], + label: 'arrow-left', + }, + { + name: 'arrow-right', + search: ['forward', 'next'], + styles: ['solid'], + label: 'arrow-right', + }, + { + name: 'arrow-up', + search: ['forward', 'upload'], + styles: ['solid'], + label: 'arrow-up', + }, + { + name: 'arrows-alt', + search: [ + 'arrow', + 'arrows', + 'bigger', + 'enlarge', + 'expand', + 'fullscreen', + 'move', + 'position', + 'reorder', + 'resize', + ], + styles: ['solid'], + label: 'Alternate Arrows', + }, + { + name: 'arrows-alt-h', + search: ['arrows-h', 'expand', 'horizontal', 'landscape', 'resize', 'wide'], + styles: ['solid'], + label: 'Alternate Arrows Horizontal', + }, + { + name: 'arrows-alt-v', + search: ['arrows-v', 'expand', 'portrait', 'resize', 'tall', 'vertical'], + styles: ['solid'], + label: 'Alternate Arrows Vertical', + }, + { + name: 'artstation', + search: [], + styles: ['brands'], + label: 'Artstation', + }, + { + name: 'assistive-listening-systems', + search: ['amplify', 'audio', 'deaf', 'ear', 'headset', 'hearing', 'sound'], + styles: ['solid'], + label: 'Assistive Listening Systems', + }, + { + name: 'asterisk', + search: ['annotation', 'details', 'reference', 'star'], + styles: ['solid'], + label: 'asterisk', + }, + { + name: 'asymmetrik', + search: [], + styles: ['brands'], + label: 'Asymmetrik, Ltd.', + }, + { + name: 'at', + search: ['address', 'author', 'e-mail', 'email', 'handle'], + styles: ['solid'], + label: 'At', + }, + { + name: 'atlas', + search: [ + 'book', + 'directions', + 'geography', + 'globe', + 'map', + 'travel', + 'wayfinding', + ], + styles: ['solid'], + label: 'Atlas', + }, + { + name: 'atlassian', + search: [], + styles: ['brands'], + label: 'Atlassian', + }, + { + name: 'atom', + search: [ + 'atheism', + 'chemistry', + 'electron', + 'ion', + 'isotope', + 'neutron', + 'nuclear', + 'proton', + 'science', + ], + styles: ['solid'], + label: 'Atom', + }, + { + name: 'audible', + search: [], + styles: ['brands'], + label: 'Audible', + }, + { + name: 'audio-description', + search: ['blind', 'narration', 'video', 'visual'], + styles: ['solid'], + label: 'Audio Description', + }, + { + name: 'autoprefixer', + search: [], + styles: ['brands'], + label: 'Autoprefixer', + }, + { + name: 'avianex', + search: [], + styles: ['brands'], + label: 'avianex', + }, + { + name: 'aviato', + search: [], + styles: ['brands'], + label: 'Aviato', + }, + { + name: 'award', + search: ['honor', 'praise', 'prize', 'recognition', 'ribbon', 'trophy'], + styles: ['solid'], + label: 'Award', + }, + { + name: 'aws', + search: [], + styles: ['brands'], + label: 'Amazon Web Services (AWS)', + }, + { + name: 'baby', + search: [ + 'child', + 'diaper', + 'doll', + 'human', + 'infant', + 'kid', + 'offspring', + 'person', + 'sprout', + ], + styles: ['solid'], + label: 'Baby', + }, + { + name: 'baby-carriage', + search: [ + 'buggy', + 'carrier', + 'infant', + 'push', + 'stroller', + 'transportation', + 'walk', + 'wheels', + ], + styles: ['solid'], + label: 'Baby Carriage', + }, + { + name: 'backspace', + search: ['command', 'delete', 'erase', 'keyboard', 'undo'], + styles: ['solid'], + label: 'Backspace', + }, + { + name: 'backward', + search: ['previous', 'rewind'], + styles: ['solid'], + label: 'backward', + }, + { + name: 'bacon', + search: [ + 'blt', + 'breakfast', + 'ham', + 'lard', + 'meat', + 'pancetta', + 'pork', + 'rasher', + ], + styles: ['solid'], + label: 'Bacon', + }, + { + name: 'bahai', + search: ['bahai', 'bahá\'í', 'star'], + styles: ['solid'], + label: 'Bahá\'í', + }, + { + name: 'balance-scale', + search: ['balanced', 'justice', 'legal', 'measure', 'weight'], + styles: ['solid'], + label: 'Balance Scale', + }, + { + name: 'balance-scale-left', + search: ['justice', 'legal', 'measure', 'unbalanced', 'weight'], + styles: ['solid'], + label: 'Balance Scale (Left-Weighted)', + }, + { + name: 'balance-scale-right', + search: ['justice', 'legal', 'measure', 'unbalanced', 'weight'], + styles: ['solid'], + label: 'Balance Scale (Right-Weighted)', + }, + { + name: 'ban', + search: [ + 'abort', + 'ban', + 'block', + 'cancel', + 'delete', + 'hide', + 'prohibit', + 'remove', + 'stop', + 'trash', + ], + styles: ['solid'], + label: 'ban', + }, + { + name: 'band-aid', + search: ['bandage', 'boo boo', 'first aid', 'ouch'], + styles: ['solid'], + label: 'Band-Aid', + }, + { + name: 'bandcamp', + search: [], + styles: ['brands'], + label: 'Bandcamp', + }, + { + name: 'barcode', + search: ['info', 'laser', 'price', 'scan', 'upc'], + styles: ['solid'], + label: 'barcode', + }, + { + name: 'bars', + search: [ + 'checklist', + 'drag', + 'hamburger', + 'list', + 'menu', + 'nav', + 'navigation', + 'ol', + 'reorder', + 'settings', + 'todo', + 'ul', + ], + styles: ['solid'], + label: 'Bars', + }, + { + name: 'baseball-ball', + search: [ + 'foul', + 'hardball', + 'league', + 'leather', + 'mlb', + 'softball', + 'sport', + ], + styles: ['solid'], + label: 'Baseball Ball', + }, + { + name: 'basketball-ball', + search: ['dribble', 'dunk', 'hoop', 'nba'], + styles: ['solid'], + label: 'Basketball Ball', + }, + { + name: 'bath', + search: ['clean', 'shower', 'tub', 'wash'], + styles: ['solid'], + label: 'Bath', + }, + { + name: 'battery-empty', + search: ['charge', 'dead', 'power', 'status'], + styles: ['solid'], + label: 'Battery Empty', + }, + { + name: 'battery-full', + search: ['charge', 'power', 'status'], + styles: ['solid'], + label: 'Battery Full', + }, + { + name: 'battery-half', + search: ['charge', 'power', 'status'], + styles: ['solid'], + label: 'Battery 1/2 Full', + }, + { + name: 'battery-quarter', + search: ['charge', 'low', 'power', 'status'], + styles: ['solid'], + label: 'Battery 1/4 Full', + }, + { + name: 'battery-three-quarters', + search: ['charge', 'power', 'status'], + styles: ['solid'], + label: 'Battery 3/4 Full', + }, + { + name: 'battle-net', + search: [], + styles: ['brands'], + label: 'Battle.net', + }, + { + name: 'bed', + search: ['lodging', 'mattress', 'rest', 'sleep', 'travel'], + styles: ['solid'], + label: 'Bed', + }, + { + name: 'beer', + search: [ + 'alcohol', + 'ale', + 'bar', + 'beverage', + 'brewery', + 'drink', + 'lager', + 'liquor', + 'mug', + 'stein', + ], + styles: ['solid'], + label: 'beer', + }, + { + name: 'behance', + search: [], + styles: ['brands'], + label: 'Behance', + }, + { + name: 'behance-square', + search: [], + styles: ['brands'], + label: 'Behance Square', + }, + { + name: 'bell', + search: ['alarm', 'alert', 'chime', 'notification', 'reminder'], + styles: ['solid', 'regular'], + label: 'bell', + }, + { + name: 'bell-slash', + search: ['alert', 'cancel', 'disabled', 'notification', 'off', 'reminder'], + styles: ['solid', 'regular'], + label: 'Bell Slash', + }, + { + name: 'bezier-curve', + search: ['curves', 'illustrator', 'lines', 'path', 'vector'], + styles: ['solid'], + label: 'Bezier Curve', + }, + { + name: 'bible', + search: ['book', 'catholicism', 'christianity', 'god', 'holy'], + styles: ['solid'], + label: 'Bible', + }, + { + name: 'bicycle', + search: ['bike', 'gears', 'pedal', 'transportation', 'vehicle'], + styles: ['solid'], + label: 'Bicycle', + }, + { + name: 'biking', + search: ['bicycle', 'bike', 'cycle', 'cycling', 'ride', 'wheel'], + styles: ['solid'], + label: 'Biking', + }, + { + name: 'bimobject', + search: [], + styles: ['brands'], + label: 'BIMobject', + }, + { + name: 'binoculars', + search: ['glasses', 'magnify', 'scenic', 'spyglass', 'view'], + styles: ['solid'], + label: 'Binoculars', + }, + { + name: 'biohazard', + search: [ + 'covid-19', + 'danger', + 'dangerous', + 'hazmat', + 'medical', + 'radioactive', + 'toxic', + 'waste', + 'zombie', + ], + styles: ['solid'], + label: 'Biohazard', + }, + { + name: 'birthday-cake', + search: [ + 'anniversary', + 'bakery', + 'candles', + 'celebration', + 'dessert', + 'frosting', + 'holiday', + 'party', + 'pastry', + ], + styles: ['solid'], + label: 'Birthday Cake', + }, + { + name: 'bitbucket', + search: ['atlassian', 'bitbucket-square', 'git'], + styles: ['brands'], + label: 'Bitbucket', + }, + { + name: 'bitcoin', + search: [], + styles: ['brands'], + label: 'Bitcoin', + }, + { + name: 'bity', + search: [], + styles: ['brands'], + label: 'Bity', + }, + { + name: 'black-tie', + search: [], + styles: ['brands'], + label: 'Font Awesome Black Tie', + }, + { + name: 'blackberry', + search: [], + styles: ['brands'], + label: 'BlackBerry', + }, + { + name: 'blender', + search: ['cocktail', 'milkshake', 'mixer', 'puree', 'smoothie'], + styles: ['solid'], + label: 'Blender', + }, + { + name: 'blender-phone', + search: [ + 'appliance', + 'cocktail', + 'communication', + 'fantasy', + 'milkshake', + 'mixer', + 'puree', + 'silly', + 'smoothie', + ], + styles: ['solid'], + label: 'Blender Phone', + }, + { + name: 'blind', + search: ['cane', 'disability', 'person', 'sight'], + styles: ['solid'], + label: 'Blind', + }, + { + name: 'blog', + search: [ + 'journal', + 'log', + 'online', + 'personal', + 'post', + 'web 2.0', + 'wordpress', + 'writing', + ], + styles: ['solid'], + label: 'Blog', + }, + { + name: 'blogger', + search: [], + styles: ['brands'], + label: 'Blogger', + }, + { + name: 'blogger-b', + search: [], + styles: ['brands'], + label: 'Blogger B', + }, + { + name: 'bluetooth', + search: [], + styles: ['brands'], + label: 'Bluetooth', + }, + { + name: 'bluetooth-b', + search: [], + styles: ['brands'], + label: 'Bluetooth', + }, + { + name: 'bold', + search: ['emphasis', 'format', 'text'], + styles: ['solid'], + label: 'bold', + }, + { + name: 'bolt', + search: ['electricity', 'lightning', 'weather', 'zap'], + styles: ['solid'], + label: 'Lightning Bolt', + }, + { + name: 'bomb', + search: ['error', 'explode', 'fuse', 'grenade', 'warning'], + styles: ['solid'], + label: 'Bomb', + }, + { + name: 'bone', + search: ['calcium', 'dog', 'skeletal', 'skeleton', 'tibia'], + styles: ['solid'], + label: 'Bone', + }, + { + name: 'bong', + search: ['aparatus', 'cannabis', 'marijuana', 'pipe', 'smoke', 'smoking'], + styles: ['solid'], + label: 'Bong', + }, + { + name: 'book', + search: ['diary', 'documentation', 'journal', 'library', 'read'], + styles: ['solid'], + label: 'book', + }, + { + name: 'book-dead', + search: [ + 'Dungeons & Dragons', + 'crossbones', + 'd&d', + 'dark arts', + 'death', + 'dnd', + 'documentation', + 'evil', + 'fantasy', + 'halloween', + 'holiday', + 'necronomicon', + 'read', + 'skull', + 'spell', + ], + styles: ['solid'], + label: 'Book of the Dead', + }, + { + name: 'book-medical', + search: [ + 'diary', + 'documentation', + 'health', + 'history', + 'journal', + 'library', + 'read', + 'record', + ], + styles: ['solid'], + label: 'Medical Book', + }, + { + name: 'book-open', + search: [ + 'flyer', + 'library', + 'notebook', + 'open book', + 'pamphlet', + 'reading', + ], + styles: ['solid'], + label: 'Book Open', + }, + { + name: 'book-reader', + search: [ + 'flyer', + 'library', + 'notebook', + 'open book', + 'pamphlet', + 'reading', + ], + styles: ['solid'], + label: 'Book Reader', + }, + { + name: 'bookmark', + search: ['favorite', 'marker', 'read', 'remember', 'save'], + styles: ['solid', 'regular'], + label: 'bookmark', + }, + { + name: 'bootstrap', + search: [], + styles: ['brands'], + label: 'Bootstrap', + }, + { + name: 'border-all', + search: ['cell', 'grid', 'outline', 'stroke', 'table'], + styles: ['solid'], + label: 'Border All', + }, + { + name: 'border-none', + search: ['cell', 'grid', 'outline', 'stroke', 'table'], + styles: ['solid'], + label: 'Border None', + }, + { + name: 'border-style', + search: [], + styles: ['solid'], + label: 'Border Style', + }, + { + name: 'bowling-ball', + search: ['alley', 'candlepin', 'gutter', 'lane', 'strike', 'tenpin'], + styles: ['solid'], + label: 'Bowling Ball', + }, + { + name: 'box', + search: ['archive', 'container', 'package', 'storage'], + styles: ['solid'], + label: 'Box', + }, + { + name: 'box-open', + search: ['archive', 'container', 'package', 'storage', 'unpack'], + styles: ['solid'], + label: 'Box Open', + }, + { + name: 'box-tissue', + search: ['cough', 'covid-19', 'kleenex', 'mucus', 'nose', 'sneeze', 'snot'], + styles: ['solid'], + label: 'Tissue Box', + }, + { + name: 'boxes', + search: ['archives', 'inventory', 'storage', 'warehouse'], + styles: ['solid'], + label: 'Boxes', + }, + { + name: 'braille', + search: ['alphabet', 'blind', 'dots', 'raised', 'vision'], + styles: ['solid'], + label: 'Braille', + }, + { + name: 'brain', + search: [ + 'cerebellum', + 'gray matter', + 'intellect', + 'medulla oblongata', + 'mind', + 'noodle', + 'wit', + ], + styles: ['solid'], + label: 'Brain', + }, + { + name: 'bread-slice', + search: [ + 'bake', + 'bakery', + 'baking', + 'dough', + 'flour', + 'gluten', + 'grain', + 'sandwich', + 'sourdough', + 'toast', + 'wheat', + 'yeast', + ], + styles: ['solid'], + label: 'Bread Slice', + }, + { + name: 'briefcase', + search: ['bag', 'business', 'luggage', 'office', 'work'], + styles: ['solid'], + label: 'Briefcase', + }, + { + name: 'briefcase-medical', + search: ['doctor', 'emt', 'first aid', 'health'], + styles: ['solid'], + label: 'Medical Briefcase', + }, + { + name: 'broadcast-tower', + search: ['airwaves', 'antenna', 'radio', 'reception', 'waves'], + styles: ['solid'], + label: 'Broadcast Tower', + }, + { + name: 'broom', + search: [ + 'clean', + 'firebolt', + 'fly', + 'halloween', + 'nimbus 2000', + 'quidditch', + 'sweep', + 'witch', + ], + styles: ['solid'], + label: 'Broom', + }, + { + name: 'brush', + search: ['art', 'bristles', 'color', 'handle', 'paint'], + styles: ['solid'], + label: 'Brush', + }, + { + name: 'btc', + search: [], + styles: ['brands'], + label: 'BTC', + }, + { + name: 'buffer', + search: [], + styles: ['brands'], + label: 'Buffer', + }, + { + name: 'bug', + search: ['beetle', 'error', 'insect', 'report'], + styles: ['solid'], + label: 'Bug', + }, + { + name: 'building', + search: ['apartment', 'business', 'city', 'company', 'office', 'work'], + styles: ['solid', 'regular'], + label: 'Building', + }, + { + name: 'bullhorn', + search: ['announcement', 'broadcast', 'louder', 'megaphone', 'share'], + styles: ['solid'], + label: 'bullhorn', + }, + { + name: 'bullseye', + search: ['archery', 'goal', 'objective', 'target'], + styles: ['solid'], + label: 'Bullseye', + }, + { + name: 'burn', + search: ['caliente', 'energy', 'fire', 'flame', 'gas', 'heat', 'hot'], + styles: ['solid'], + label: 'Burn', + }, + { + name: 'buromobelexperte', + search: [], + styles: ['brands'], + label: 'Büromöbel-Experte GmbH & Co. KG.', + }, + { + name: 'bus', + search: ['public transportation', 'transportation', 'travel', 'vehicle'], + styles: ['solid'], + label: 'Bus', + }, + { + name: 'bus-alt', + search: [ + 'mta', + 'public transportation', + 'transportation', + 'travel', + 'vehicle', + ], + styles: ['solid'], + label: 'Bus Alt', + }, + { + name: 'business-time', + search: [ + 'alarm', + 'briefcase', + 'business socks', + 'clock', + 'flight of the conchords', + 'reminder', + 'wednesday', + ], + styles: ['solid'], + label: 'Business Time', + }, + { + name: 'buy-n-large', + search: [], + styles: ['brands'], + label: 'Buy n Large', + }, + { + name: 'buysellads', + search: [], + styles: ['brands'], + label: 'BuySellAds', + }, + { + name: 'calculator', + search: [ + 'abacus', + 'addition', + 'arithmetic', + 'counting', + 'math', + 'multiplication', + 'subtraction', + ], + styles: ['solid'], + label: 'Calculator', + }, + { + name: 'calendar', + search: ['calendar-o', 'date', 'event', 'schedule', 'time', 'when'], + styles: ['solid', 'regular'], + label: 'Calendar', + }, + { + name: 'calendar-alt', + search: ['calendar', 'date', 'event', 'schedule', 'time', 'when'], + styles: ['solid', 'regular'], + label: 'Alternate Calendar', + }, + { + name: 'calendar-check', + search: [ + 'accept', + 'agree', + 'appointment', + 'confirm', + 'correct', + 'date', + 'done', + 'event', + 'ok', + 'schedule', + 'select', + 'success', + 'tick', + 'time', + 'todo', + 'when', + ], + styles: ['solid', 'regular'], + label: 'Calendar Check', + }, + { + name: 'calendar-day', + search: [ + 'date', + 'detail', + 'event', + 'focus', + 'schedule', + 'single day', + 'time', + 'today', + 'when', + ], + styles: ['solid'], + label: 'Calendar with Day Focus', + }, + { + name: 'calendar-minus', + search: [ + 'calendar', + 'date', + 'delete', + 'event', + 'negative', + 'remove', + 'schedule', + 'time', + 'when', + ], + styles: ['solid', 'regular'], + label: 'Calendar Minus', + }, + { + name: 'calendar-plus', + search: [ + 'add', + 'calendar', + 'create', + 'date', + 'event', + 'new', + 'positive', + 'schedule', + 'time', + 'when', + ], + styles: ['solid', 'regular'], + label: 'Calendar Plus', + }, + { + name: 'calendar-times', + search: [ + 'archive', + 'calendar', + 'date', + 'delete', + 'event', + 'remove', + 'schedule', + 'time', + 'when', + 'x', + ], + styles: ['solid', 'regular'], + label: 'Calendar Times', + }, + { + name: 'calendar-week', + search: [ + 'date', + 'detail', + 'event', + 'focus', + 'schedule', + 'single week', + 'time', + 'today', + 'when', + ], + styles: ['solid'], + label: 'Calendar with Week Focus', + }, + { + name: 'camera', + search: ['image', 'lens', 'photo', 'picture', 'record', 'shutter', 'video'], + styles: ['solid'], + label: 'camera', + }, + { + name: 'camera-retro', + search: ['image', 'lens', 'photo', 'picture', 'record', 'shutter', 'video'], + styles: ['solid'], + label: 'Retro Camera', + }, + { + name: 'campground', + search: ['camping', 'fall', 'outdoors', 'teepee', 'tent', 'tipi'], + styles: ['solid'], + label: 'Campground', + }, + { + name: 'canadian-maple-leaf', + search: ['canada', 'flag', 'flora', 'nature', 'plant'], + styles: ['brands'], + label: 'Canadian Maple Leaf', + }, + { + name: 'candy-cane', + search: [ + 'candy', + 'christmas', + 'holiday', + 'mint', + 'peppermint', + 'striped', + 'xmas', + ], + styles: ['solid'], + label: 'Candy Cane', + }, + { + name: 'cannabis', + search: [ + 'bud', + 'chronic', + 'drugs', + 'endica', + 'endo', + 'ganja', + 'marijuana', + 'mary jane', + 'pot', + 'reefer', + 'sativa', + 'spliff', + 'weed', + 'whacky-tabacky', + ], + styles: ['solid'], + label: 'Cannabis', + }, + { + name: 'capsules', + search: ['drugs', 'medicine', 'pills', 'prescription'], + styles: ['solid'], + label: 'Capsules', + }, + { + name: 'car', + search: [ + 'auto', + 'automobile', + 'sedan', + 'transportation', + 'travel', + 'vehicle', + ], + styles: ['solid'], + label: 'Car', + }, + { + name: 'car-alt', + search: [ + 'auto', + 'automobile', + 'sedan', + 'transportation', + 'travel', + 'vehicle', + ], + styles: ['solid'], + label: 'Alternate Car', + }, + { + name: 'car-battery', + search: ['auto', 'electric', 'mechanic', 'power'], + styles: ['solid'], + label: 'Car Battery', + }, + { + name: 'car-crash', + search: [ + 'accident', + 'auto', + 'automobile', + 'insurance', + 'sedan', + 'transportation', + 'vehicle', + 'wreck', + ], + styles: ['solid'], + label: 'Car Crash', + }, + { + name: 'car-side', + search: [ + 'auto', + 'automobile', + 'sedan', + 'transportation', + 'travel', + 'vehicle', + ], + styles: ['solid'], + label: 'Car Side', + }, + { + name: 'caravan', + search: ['camper', 'motor home', 'rv', 'trailer', 'travel'], + styles: ['solid'], + label: 'Caravan', + }, + { + name: 'caret-down', + search: ['arrow', 'dropdown', 'expand', 'menu', 'more', 'triangle'], + styles: ['solid'], + label: 'Caret Down', + }, + { + name: 'caret-left', + search: ['arrow', 'back', 'previous', 'triangle'], + styles: ['solid'], + label: 'Caret Left', + }, + { + name: 'caret-right', + search: ['arrow', 'forward', 'next', 'triangle'], + styles: ['solid'], + label: 'Caret Right', + }, + { + name: 'caret-square-down', + search: [ + 'arrow', + 'caret-square-o-down', + 'dropdown', + 'expand', + 'menu', + 'more', + 'triangle', + ], + styles: ['solid', 'regular'], + label: 'Caret Square Down', + }, + { + name: 'caret-square-left', + search: ['arrow', 'back', 'caret-square-o-left', 'previous', 'triangle'], + styles: ['solid', 'regular'], + label: 'Caret Square Left', + }, + { + name: 'caret-square-right', + search: ['arrow', 'caret-square-o-right', 'forward', 'next', 'triangle'], + styles: ['solid', 'regular'], + label: 'Caret Square Right', + }, + { + name: 'caret-square-up', + search: ['arrow', 'caret-square-o-up', 'collapse', 'triangle', 'upload'], + styles: ['solid', 'regular'], + label: 'Caret Square Up', + }, + { + name: 'caret-up', + search: ['arrow', 'collapse', 'triangle'], + styles: ['solid'], + label: 'Caret Up', + }, + { + name: 'carrot', + search: ['bugs bunny', 'orange', 'vegan', 'vegetable'], + styles: ['solid'], + label: 'Carrot', + }, + { + name: 'cart-arrow-down', + search: ['download', 'save', 'shopping'], + styles: ['solid'], + label: 'Shopping Cart Arrow Down', + }, + { + name: 'cart-plus', + search: ['add', 'create', 'new', 'positive', 'shopping'], + styles: ['solid'], + label: 'Add to Shopping Cart', + }, + { + name: 'cash-register', + search: [ + 'buy', + 'cha-ching', + 'change', + 'checkout', + 'commerce', + 'leaerboard', + 'machine', + 'pay', + 'payment', + 'purchase', + 'store', + ], + styles: ['solid'], + label: 'Cash Register', + }, + { + name: 'cat', + search: [ + 'feline', + 'halloween', + 'holiday', + 'kitten', + 'kitty', + 'meow', + 'pet', + ], + styles: ['solid'], + label: 'Cat', + }, + { + name: 'cc-amazon-pay', + search: [], + styles: ['brands'], + label: 'Amazon Pay Credit Card', + }, + { + name: 'cc-amex', + search: ['amex'], + styles: ['brands'], + label: 'American Express Credit Card', + }, + { + name: 'cc-apple-pay', + search: [], + styles: ['brands'], + label: 'Apple Pay Credit Card', + }, + { + name: 'cc-diners-club', + search: [], + styles: ['brands'], + label: 'Diner\'s Club Credit Card', + }, + { + name: 'cc-discover', + search: [], + styles: ['brands'], + label: 'Discover Credit Card', + }, + { + name: 'cc-jcb', + search: [], + styles: ['brands'], + label: 'JCB Credit Card', + }, + { + name: 'cc-mastercard', + search: [], + styles: ['brands'], + label: 'MasterCard Credit Card', + }, + { + name: 'cc-paypal', + search: [], + styles: ['brands'], + label: 'Paypal Credit Card', + }, + { + name: 'cc-stripe', + search: [], + styles: ['brands'], + label: 'Stripe Credit Card', + }, + { + name: 'cc-visa', + search: [], + styles: ['brands'], + label: 'Visa Credit Card', + }, + { + name: 'centercode', + search: [], + styles: ['brands'], + label: 'Centercode', + }, + { + name: 'centos', + search: ['linux', 'operating system', 'os'], + styles: ['brands'], + label: 'Centos', + }, + { + name: 'certificate', + search: ['badge', 'star', 'verified'], + styles: ['solid'], + label: 'certificate', + }, + { + name: 'chair', + search: ['furniture', 'seat', 'sit'], + styles: ['solid'], + label: 'Chair', + }, + { + name: 'chalkboard', + search: [ + 'blackboard', + 'learning', + 'school', + 'teaching', + 'whiteboard', + 'writing', + ], + styles: ['solid'], + label: 'Chalkboard', + }, + { + name: 'chalkboard-teacher', + search: [ + 'blackboard', + 'instructor', + 'learning', + 'professor', + 'school', + 'whiteboard', + 'writing', + ], + styles: ['solid'], + label: 'Chalkboard Teacher', + }, + { + name: 'charging-station', + search: ['electric', 'ev', 'tesla', 'vehicle'], + styles: ['solid'], + label: 'Charging Station', + }, + { + name: 'chart-area', + search: ['analytics', 'area', 'chart', 'graph'], + styles: ['solid'], + label: 'Area Chart', + }, + { + name: 'chart-bar', + search: ['analytics', 'bar', 'chart', 'graph'], + styles: ['solid', 'regular'], + label: 'Bar Chart', + }, + { + name: 'chart-line', + search: [ + 'activity', + 'analytics', + 'chart', + 'dashboard', + 'gain', + 'graph', + 'increase', + 'line', + ], + styles: ['solid'], + label: 'Line Chart', + }, + { + name: 'chart-pie', + search: ['analytics', 'chart', 'diagram', 'graph', 'pie'], + styles: ['solid'], + label: 'Pie Chart', + }, + { + name: 'check', + search: [ + 'accept', + 'agree', + 'checkmark', + 'confirm', + 'correct', + 'done', + 'notice', + 'notification', + 'notify', + 'ok', + 'select', + 'success', + 'tick', + 'todo', + 'yes', + ], + styles: ['solid'], + label: 'Check', + }, + { + name: 'check-circle', + search: [ + 'accept', + 'agree', + 'confirm', + 'correct', + 'done', + 'ok', + 'select', + 'success', + 'tick', + 'todo', + 'yes', + ], + styles: ['solid', 'regular'], + label: 'Check Circle', + }, + { + name: 'check-double', + search: [ + 'accept', + 'agree', + 'checkmark', + 'confirm', + 'correct', + 'done', + 'notice', + 'notification', + 'notify', + 'ok', + 'select', + 'success', + 'tick', + 'todo', + ], + styles: ['solid'], + label: 'Double Check', + }, + { + name: 'check-square', + search: [ + 'accept', + 'agree', + 'checkmark', + 'confirm', + 'correct', + 'done', + 'ok', + 'select', + 'success', + 'tick', + 'todo', + 'yes', + ], + styles: ['solid', 'regular'], + label: 'Check Square', + }, + { + name: 'cheese', + search: [ + 'cheddar', + 'curd', + 'gouda', + 'melt', + 'parmesan', + 'sandwich', + 'swiss', + 'wedge', + ], + styles: ['solid'], + label: 'Cheese', + }, + { + name: 'chess', + search: [ + 'board', + 'castle', + 'checkmate', + 'game', + 'king', + 'rook', + 'strategy', + 'tournament', + ], + styles: ['solid'], + label: 'Chess', + }, + { + name: 'chess-bishop', + search: ['board', 'checkmate', 'game', 'strategy'], + styles: ['solid'], + label: 'Chess Bishop', + }, + { + name: 'chess-board', + search: ['board', 'checkmate', 'game', 'strategy'], + styles: ['solid'], + label: 'Chess Board', + }, + { + name: 'chess-king', + search: ['board', 'checkmate', 'game', 'strategy'], + styles: ['solid'], + label: 'Chess King', + }, + { + name: 'chess-knight', + search: ['board', 'checkmate', 'game', 'horse', 'strategy'], + styles: ['solid'], + label: 'Chess Knight', + }, + { + name: 'chess-pawn', + search: ['board', 'checkmate', 'game', 'strategy'], + styles: ['solid'], + label: 'Chess Pawn', + }, + { + name: 'chess-queen', + search: ['board', 'checkmate', 'game', 'strategy'], + styles: ['solid'], + label: 'Chess Queen', + }, + { + name: 'chess-rook', + search: ['board', 'castle', 'checkmate', 'game', 'strategy'], + styles: ['solid'], + label: 'Chess Rook', + }, + { + name: 'chevron-circle-down', + search: ['arrow', 'download', 'dropdown', 'menu', 'more'], + styles: ['solid'], + label: 'Chevron Circle Down', + }, + { + name: 'chevron-circle-left', + search: ['arrow', 'back', 'previous'], + styles: ['solid'], + label: 'Chevron Circle Left', + }, + { + name: 'chevron-circle-right', + search: ['arrow', 'forward', 'next'], + styles: ['solid'], + label: 'Chevron Circle Right', + }, + { + name: 'chevron-circle-up', + search: ['arrow', 'collapse', 'upload'], + styles: ['solid'], + label: 'Chevron Circle Up', + }, + { + name: 'chevron-down', + search: ['arrow', 'download', 'expand'], + styles: ['solid'], + label: 'chevron-down', + }, + { + name: 'chevron-left', + search: ['arrow', 'back', 'bracket', 'previous'], + styles: ['solid'], + label: 'chevron-left', + }, + { + name: 'chevron-right', + search: ['arrow', 'bracket', 'forward', 'next'], + styles: ['solid'], + label: 'chevron-right', + }, + { + name: 'chevron-up', + search: ['arrow', 'collapse', 'upload'], + styles: ['solid'], + label: 'chevron-up', + }, + { + name: 'child', + search: ['boy', 'girl', 'kid', 'toddler', 'young'], + styles: ['solid'], + label: 'Child', + }, + { + name: 'chrome', + search: ['browser'], + styles: ['brands'], + label: 'Chrome', + }, + { + name: 'chromecast', + search: [], + styles: ['brands'], + label: 'Chromecast', + }, + { + name: 'church', + search: ['building', 'cathedral', 'chapel', 'community', 'religion'], + styles: ['solid'], + label: 'Church', + }, + { + name: 'circle', + search: [ + 'circle-thin', + 'diameter', + 'dot', + 'ellipse', + 'notification', + 'round', + ], + styles: ['solid', 'regular'], + label: 'Circle', + }, + { + name: 'circle-notch', + search: [ + 'circle-o-notch', + 'diameter', + 'dot', + 'ellipse', + 'round', + 'spinner', + ], + styles: ['solid'], + label: 'Circle Notched', + }, + { + name: 'city', + search: ['buildings', 'busy', 'skyscrapers', 'urban', 'windows'], + styles: ['solid'], + label: 'City', + }, + { + name: 'clinic-medical', + search: [ + 'covid-19', + 'doctor', + 'general practitioner', + 'hospital', + 'infirmary', + 'medicine', + 'office', + 'outpatient', + ], + styles: ['solid'], + label: 'Medical Clinic', + }, + { + name: 'clipboard', + search: ['copy', 'notes', 'paste', 'record'], + styles: ['solid', 'regular'], + label: 'Clipboard', + }, + { + name: 'clipboard-check', + search: [ + 'accept', + 'agree', + 'confirm', + 'done', + 'ok', + 'select', + 'success', + 'tick', + 'todo', + 'yes', + ], + styles: ['solid'], + label: 'Clipboard with Check', + }, + { + name: 'clipboard-list', + search: [ + 'checklist', + 'completed', + 'done', + 'finished', + 'intinerary', + 'ol', + 'schedule', + 'tick', + 'todo', + 'ul', + ], + styles: ['solid'], + label: 'Clipboard List', + }, + { + name: 'clock', + search: ['date', 'late', 'schedule', 'time', 'timer', 'timestamp', 'watch'], + styles: ['solid', 'regular'], + label: 'Clock', + }, + { + name: 'clone', + search: ['arrange', 'copy', 'duplicate', 'paste'], + styles: ['solid', 'regular'], + label: 'Clone', + }, + { + name: 'closed-captioning', + search: [ + 'cc', + 'deaf', + 'hearing', + 'subtitle', + 'subtitling', + 'text', + 'video', + ], + styles: ['solid', 'regular'], + label: 'Closed Captioning', + }, + { + name: 'cloud', + search: ['atmosphere', 'fog', 'overcast', 'save', 'upload', 'weather'], + styles: ['solid'], + label: 'Cloud', + }, + { + name: 'cloud-download-alt', + search: ['download', 'export', 'save'], + styles: ['solid'], + label: 'Alternate Cloud Download', + }, + { + name: 'cloud-meatball', + search: ['FLDSMDFR', 'food', 'spaghetti', 'storm'], + styles: ['solid'], + label: 'Cloud with (a chance of) Meatball', + }, + { + name: 'cloud-moon', + search: ['crescent', 'evening', 'lunar', 'night', 'partly cloudy', 'sky'], + styles: ['solid'], + label: 'Cloud with Moon', + }, + { + name: 'cloud-moon-rain', + search: [ + 'crescent', + 'evening', + 'lunar', + 'night', + 'partly cloudy', + 'precipitation', + 'rain', + 'sky', + 'storm', + ], + styles: ['solid'], + label: 'Cloud with Moon and Rain', + }, + { + name: 'cloud-rain', + search: ['precipitation', 'rain', 'sky', 'storm'], + styles: ['solid'], + label: 'Cloud with Rain', + }, + { + name: 'cloud-showers-heavy', + search: ['precipitation', 'rain', 'sky', 'storm'], + styles: ['solid'], + label: 'Cloud with Heavy Showers', + }, + { + name: 'cloud-sun', + search: [ + 'clear', + 'day', + 'daytime', + 'fall', + 'outdoors', + 'overcast', + 'partly cloudy', + ], + styles: ['solid'], + label: 'Cloud with Sun', + }, + { + name: 'cloud-sun-rain', + search: [ + 'day', + 'overcast', + 'precipitation', + 'storm', + 'summer', + 'sunshower', + ], + styles: ['solid'], + label: 'Cloud with Sun and Rain', + }, + { + name: 'cloud-upload-alt', + search: ['cloud-upload', 'import', 'save', 'upload'], + styles: ['solid'], + label: 'Alternate Cloud Upload', + }, + { + name: 'cloudscale', + search: [], + styles: ['brands'], + label: 'cloudscale.ch', + }, + { + name: 'cloudsmith', + search: [], + styles: ['brands'], + label: 'Cloudsmith', + }, + { + name: 'cloudversify', + search: [], + styles: ['brands'], + label: 'cloudversify', + }, + { + name: 'cocktail', + search: [ + 'alcohol', + 'beverage', + 'drink', + 'gin', + 'glass', + 'margarita', + 'martini', + 'vodka', + ], + styles: ['solid'], + label: 'Cocktail', + }, + { + name: 'code', + search: ['brackets', 'code', 'development', 'html'], + styles: ['solid'], + label: 'Code', + }, + { + name: 'code-branch', + search: [ + 'branch', + 'code-fork', + 'fork', + 'git', + 'github', + 'rebase', + 'svn', + 'vcs', + 'version', + ], + styles: ['solid'], + label: 'Code Branch', + }, + { + name: 'codepen', + search: [], + styles: ['brands'], + label: 'Codepen', + }, + { + name: 'codiepie', + search: [], + styles: ['brands'], + label: 'Codie Pie', + }, + { + name: 'coffee', + search: [ + 'beverage', + 'breakfast', + 'cafe', + 'drink', + 'fall', + 'morning', + 'mug', + 'seasonal', + 'tea', + ], + styles: ['solid'], + label: 'Coffee', + }, + { + name: 'cog', + search: ['gear', 'mechanical', 'settings', 'sprocket', 'wheel'], + styles: ['solid'], + label: 'cog', + }, + { + name: 'cogs', + search: ['gears', 'mechanical', 'settings', 'sprocket', 'wheel'], + styles: ['solid'], + label: 'cogs', + }, + { + name: 'coins', + search: ['currency', 'dime', 'financial', 'gold', 'money', 'penny'], + styles: ['solid'], + label: 'Coins', + }, + { + name: 'columns', + search: ['browser', 'dashboard', 'organize', 'panes', 'split'], + styles: ['solid'], + label: 'Columns', + }, + { + name: 'comment', + search: [ + 'bubble', + 'chat', + 'commenting', + 'conversation', + 'feedback', + 'message', + 'note', + 'notification', + 'sms', + 'speech', + 'texting', + ], + styles: ['solid', 'regular'], + label: 'comment', + }, + { + name: 'comment-alt', + search: [ + 'bubble', + 'chat', + 'commenting', + 'conversation', + 'feedback', + 'message', + 'note', + 'notification', + 'sms', + 'speech', + 'texting', + ], + styles: ['solid', 'regular'], + label: 'Alternate Comment', + }, + { + name: 'comment-dollar', + search: [ + 'bubble', + 'chat', + 'commenting', + 'conversation', + 'feedback', + 'message', + 'money', + 'note', + 'notification', + 'pay', + 'sms', + 'speech', + 'spend', + 'texting', + 'transfer', + ], + styles: ['solid'], + label: 'Comment Dollar', + }, + { + name: 'comment-dots', + search: [ + 'bubble', + 'chat', + 'commenting', + 'conversation', + 'feedback', + 'message', + 'more', + 'note', + 'notification', + 'reply', + 'sms', + 'speech', + 'texting', + ], + styles: ['solid', 'regular'], + label: 'Comment Dots', + }, + { + name: 'comment-medical', + search: [ + 'advice', + 'bubble', + 'chat', + 'commenting', + 'conversation', + 'diagnose', + 'feedback', + 'message', + 'note', + 'notification', + 'prescription', + 'sms', + 'speech', + 'texting', + ], + styles: ['solid'], + label: 'Alternate Medical Chat', + }, + { + name: 'comment-slash', + search: [ + 'bubble', + 'cancel', + 'chat', + 'commenting', + 'conversation', + 'feedback', + 'message', + 'mute', + 'note', + 'notification', + 'quiet', + 'sms', + 'speech', + 'texting', + ], + styles: ['solid'], + label: 'Comment Slash', + }, + { + name: 'comments', + search: [ + 'bubble', + 'chat', + 'commenting', + 'conversation', + 'feedback', + 'message', + 'note', + 'notification', + 'sms', + 'speech', + 'texting', + ], + styles: ['solid', 'regular'], + label: 'comments', + }, + { + name: 'comments-dollar', + search: [ + 'bubble', + 'chat', + 'commenting', + 'conversation', + 'feedback', + 'message', + 'money', + 'note', + 'notification', + 'pay', + 'sms', + 'speech', + 'spend', + 'texting', + 'transfer', + ], + styles: ['solid'], + label: 'Comments Dollar', + }, + { + name: 'compact-disc', + search: [ + 'album', + 'bluray', + 'cd', + 'disc', + 'dvd', + 'media', + 'movie', + 'music', + 'record', + 'video', + 'vinyl', + ], + styles: ['solid'], + label: 'Compact Disc', + }, + { + name: 'compass', + search: [ + 'directions', + 'directory', + 'location', + 'menu', + 'navigation', + 'safari', + 'travel', + ], + styles: ['solid', 'regular'], + label: 'Compass', + }, + { + name: 'compress', + search: [ + 'collapse', + 'fullscreen', + 'minimize', + 'move', + 'resize', + 'shrink', + 'smaller', + ], + styles: ['solid'], + label: 'Compress', + }, + { + name: 'compress-alt', + search: [ + 'collapse', + 'fullscreen', + 'minimize', + 'move', + 'resize', + 'shrink', + 'smaller', + ], + styles: ['solid'], + label: 'Alternate Compress', + }, + { + name: 'compress-arrows-alt', + search: [ + 'collapse', + 'fullscreen', + 'minimize', + 'move', + 'resize', + 'shrink', + 'smaller', + ], + styles: ['solid'], + label: 'Alternate Compress Arrows', + }, + { + name: 'concierge-bell', + search: ['attention', 'hotel', 'receptionist', 'service', 'support'], + styles: ['solid'], + label: 'Concierge Bell', + }, + { + name: 'confluence', + search: ['atlassian'], + styles: ['brands'], + label: 'Confluence', + }, + { + name: 'connectdevelop', + search: [], + styles: ['brands'], + label: 'Connect Develop', + }, + { + name: 'contao', + search: [], + styles: ['brands'], + label: 'Contao', + }, + { + name: 'cookie', + search: [ + 'baked good', + 'chips', + 'chocolate', + 'eat', + 'snack', + 'sweet', + 'treat', + ], + styles: ['solid'], + label: 'Cookie', + }, + { + name: 'cookie-bite', + search: [ + 'baked good', + 'bitten', + 'chips', + 'chocolate', + 'eat', + 'snack', + 'sweet', + 'treat', + ], + styles: ['solid'], + label: 'Cookie Bite', + }, + { + name: 'copy', + search: ['clone', 'duplicate', 'file', 'files-o', 'paper', 'paste'], + styles: ['solid', 'regular'], + label: 'Copy', + }, + { + name: 'copyright', + search: ['brand', 'mark', 'register', 'trademark'], + styles: ['solid', 'regular'], + label: 'Copyright', + }, + { + name: 'cotton-bureau', + search: ['clothing', 't-shirts', 'tshirts'], + styles: ['brands'], + label: 'Cotton Bureau', + }, + { + name: 'couch', + search: ['chair', 'cushion', 'furniture', 'relax', 'sofa'], + styles: ['solid'], + label: 'Couch', + }, + { + name: 'cpanel', + search: [], + styles: ['brands'], + label: 'cPanel', + }, + { + name: 'creative-commons', + search: [], + styles: ['brands'], + label: 'Creative Commons', + }, + { + name: 'creative-commons-by', + search: [], + styles: ['brands'], + label: 'Creative Commons Attribution', + }, + { + name: 'creative-commons-nc', + search: [], + styles: ['brands'], + label: 'Creative Commons Noncommercial', + }, + { + name: 'creative-commons-nc-eu', + search: [], + styles: ['brands'], + label: 'Creative Commons Noncommercial (Euro Sign)', + }, + { + name: 'creative-commons-nc-jp', + search: [], + styles: ['brands'], + label: 'Creative Commons Noncommercial (Yen Sign)', + }, + { + name: 'creative-commons-nd', + search: [], + styles: ['brands'], + label: 'Creative Commons No Derivative Works', + }, + { + name: 'creative-commons-pd', + search: [], + styles: ['brands'], + label: 'Creative Commons Public Domain', + }, + { + name: 'creative-commons-pd-alt', + search: [], + styles: ['brands'], + label: 'Alternate Creative Commons Public Domain', + }, + { + name: 'creative-commons-remix', + search: [], + styles: ['brands'], + label: 'Creative Commons Remix', + }, + { + name: 'creative-commons-sa', + search: [], + styles: ['brands'], + label: 'Creative Commons Share Alike', + }, + { + name: 'creative-commons-sampling', + search: [], + styles: ['brands'], + label: 'Creative Commons Sampling', + }, + { + name: 'creative-commons-sampling-plus', + search: [], + styles: ['brands'], + label: 'Creative Commons Sampling +', + }, + { + name: 'creative-commons-share', + search: [], + styles: ['brands'], + label: 'Creative Commons Share', + }, + { + name: 'creative-commons-zero', + search: [], + styles: ['brands'], + label: 'Creative Commons CC0', + }, + { + name: 'credit-card', + search: [ + 'buy', + 'checkout', + 'credit-card-alt', + 'debit', + 'money', + 'payment', + 'purchase', + ], + styles: ['solid', 'regular'], + label: 'Credit Card', + }, + { + name: 'critical-role', + search: [ + 'Dungeons & Dragons', + 'd&d', + 'dnd', + 'fantasy', + 'game', + 'gaming', + 'tabletop', + ], + styles: ['brands'], + label: 'Critical Role', + }, + { + name: 'crop', + search: ['design', 'frame', 'mask', 'resize', 'shrink'], + styles: ['solid'], + label: 'crop', + }, + { + name: 'crop-alt', + search: ['design', 'frame', 'mask', 'resize', 'shrink'], + styles: ['solid'], + label: 'Alternate Crop', + }, + { + name: 'cross', + search: ['catholicism', 'christianity', 'church', 'jesus'], + styles: ['solid'], + label: 'Cross', + }, + { + name: 'crosshairs', + search: ['aim', 'bullseye', 'gpd', 'picker', 'position'], + styles: ['solid'], + label: 'Crosshairs', + }, + { + name: 'crow', + search: ['bird', 'bullfrog', 'fauna', 'halloween', 'holiday', 'toad'], + styles: ['solid'], + label: 'Crow', + }, + { + name: 'crown', + search: ['award', 'favorite', 'king', 'queen', 'royal', 'tiara'], + styles: ['solid'], + label: 'Crown', + }, + { + name: 'crutch', + search: ['cane', 'injury', 'mobility', 'wheelchair'], + styles: ['solid'], + label: 'Crutch', + }, + { + name: 'css3', + search: ['code'], + styles: ['brands'], + label: 'CSS 3 Logo', + }, + { + name: 'css3-alt', + search: [], + styles: ['brands'], + label: 'Alternate CSS3 Logo', + }, + { + name: 'cube', + search: ['3d', 'block', 'dice', 'package', 'square', 'tesseract'], + styles: ['solid'], + label: 'Cube', + }, + { + name: 'cubes', + search: [ + '3d', + 'block', + 'dice', + 'package', + 'pyramid', + 'square', + 'stack', + 'tesseract', + ], + styles: ['solid'], + label: 'Cubes', + }, + { + name: 'cut', + search: ['clip', 'scissors', 'snip'], + styles: ['solid'], + label: 'Cut', + }, + { + name: 'cuttlefish', + search: [], + styles: ['brands'], + label: 'Cuttlefish', + }, + { + name: 'd-and-d', + search: [], + styles: ['brands'], + label: 'Dungeons & Dragons', + }, + { + name: 'd-and-d-beyond', + search: [ + 'Dungeons & Dragons', + 'd&d', + 'dnd', + 'fantasy', + 'gaming', + 'tabletop', + ], + styles: ['brands'], + label: 'D&D Beyond', + }, + { + name: 'dailymotion', + search: [], + styles: ['brands'], + label: 'dailymotion', + }, + { + name: 'dashcube', + search: [], + styles: ['brands'], + label: 'DashCube', + }, + { + name: 'database', + search: ['computer', 'development', 'directory', 'memory', 'storage'], + styles: ['solid'], + label: 'Database', + }, + { + name: 'deaf', + search: ['ear', 'hearing', 'sign language'], + styles: ['solid'], + label: 'Deaf', + }, + { + name: 'delicious', + search: [], + styles: ['brands'], + label: 'Delicious', + }, + { + name: 'democrat', + search: [ + 'american', + 'democratic party', + 'donkey', + 'election', + 'left', + 'left-wing', + 'liberal', + 'politics', + 'usa', + ], + styles: ['solid'], + label: 'Democrat', + }, + { + name: 'deploydog', + search: [], + styles: ['brands'], + label: 'deploy.dog', + }, + { + name: 'deskpro', + search: [], + styles: ['brands'], + label: 'Deskpro', + }, + { + name: 'desktop', + search: [ + 'computer', + 'cpu', + 'demo', + 'desktop', + 'device', + 'imac', + 'machine', + 'monitor', + 'pc', + 'screen', + ], + styles: ['solid'], + label: 'Desktop', + }, + { + name: 'dev', + search: [], + styles: ['brands'], + label: 'DEV', + }, + { + name: 'deviantart', + search: [], + styles: ['brands'], + label: 'deviantART', + }, + { + name: 'dharmachakra', + search: ['buddhism', 'buddhist', 'wheel of dharma'], + styles: ['solid'], + label: 'Dharmachakra', + }, + { + name: 'dhl', + search: ['Dalsey', 'Hillblom and Lynn', 'german', 'package', 'shipping'], + styles: ['brands'], + label: 'DHL', + }, + { + name: 'diagnoses', + search: ['analyze', 'detect', 'diagnosis', 'examine', 'medicine'], + styles: ['solid'], + label: 'Diagnoses', + }, + { + name: 'diaspora', + search: [], + styles: ['brands'], + label: 'Diaspora', + }, + { + name: 'dice', + search: ['chance', 'gambling', 'game', 'roll'], + styles: ['solid'], + label: 'Dice', + }, + { + name: 'dice-d20', + search: [ + 'Dungeons & Dragons', + 'chance', + 'd&d', + 'dnd', + 'fantasy', + 'gambling', + 'game', + 'roll', + ], + styles: ['solid'], + label: 'Dice D20', + }, + { + name: 'dice-d6', + search: [ + 'Dungeons & Dragons', + 'chance', + 'd&d', + 'dnd', + 'fantasy', + 'gambling', + 'game', + 'roll', + ], + styles: ['solid'], + label: 'Dice D6', + }, + { + name: 'dice-five', + search: ['chance', 'gambling', 'game', 'roll'], + styles: ['solid'], + label: 'Dice Five', + }, + { + name: 'dice-four', + search: ['chance', 'gambling', 'game', 'roll'], + styles: ['solid'], + label: 'Dice Four', + }, + { + name: 'dice-one', + search: ['chance', 'gambling', 'game', 'roll'], + styles: ['solid'], + label: 'Dice One', + }, + { + name: 'dice-six', + search: ['chance', 'gambling', 'game', 'roll'], + styles: ['solid'], + label: 'Dice Six', + }, + { + name: 'dice-three', + search: ['chance', 'gambling', 'game', 'roll'], + styles: ['solid'], + label: 'Dice Three', + }, + { + name: 'dice-two', + search: ['chance', 'gambling', 'game', 'roll'], + styles: ['solid'], + label: 'Dice Two', + }, + { + name: 'digg', + search: [], + styles: ['brands'], + label: 'Digg Logo', + }, + { + name: 'digital-ocean', + search: [], + styles: ['brands'], + label: 'Digital Ocean', + }, + { + name: 'digital-tachograph', + search: ['data', 'distance', 'speed', 'tachometer'], + styles: ['solid'], + label: 'Digital Tachograph', + }, + { + name: 'directions', + search: ['map', 'navigation', 'sign', 'turn'], + styles: ['solid'], + label: 'Directions', + }, + { + name: 'discord', + search: [], + styles: ['brands'], + label: 'Discord', + }, + { + name: 'discourse', + search: [], + styles: ['brands'], + label: 'Discourse', + }, + { + name: 'disease', + search: [ + 'bacteria', + 'cancer', + 'covid-19', + 'illness', + 'infection', + 'sickness', + 'virus', + ], + styles: ['solid'], + label: 'Disease', + }, + { + name: 'divide', + search: ['arithmetic', 'calculus', 'division', 'math'], + styles: ['solid'], + label: 'Divide', + }, + { + name: 'dizzy', + search: ['dazed', 'dead', 'disapprove', 'emoticon', 'face'], + styles: ['solid', 'regular'], + label: 'Dizzy Face', + }, + { + name: 'dna', + search: ['double helix', 'genetic', 'helix', 'molecule', 'protein'], + styles: ['solid'], + label: 'DNA', + }, + { + name: 'dochub', + search: [], + styles: ['brands'], + label: 'DocHub', + }, + { + name: 'docker', + search: [], + styles: ['brands'], + label: 'Docker', + }, + { + name: 'dog', + search: [ + 'animal', + 'canine', + 'fauna', + 'mammal', + 'pet', + 'pooch', + 'puppy', + 'woof', + ], + styles: ['solid'], + label: 'Dog', + }, + { + name: 'dollar-sign', + search: ['$', 'cost', 'dollar-sign', 'money', 'price', 'usd'], + styles: ['solid'], + label: 'Dollar Sign', + }, + { + name: 'dolly', + search: ['carry', 'shipping', 'transport'], + styles: ['solid'], + label: 'Dolly', + }, + { + name: 'dolly-flatbed', + search: ['carry', 'inventory', 'shipping', 'transport'], + styles: ['solid'], + label: 'Dolly Flatbed', + }, + { + name: 'donate', + search: ['contribute', 'generosity', 'gift', 'give'], + styles: ['solid'], + label: 'Donate', + }, + { + name: 'door-closed', + search: ['enter', 'exit', 'locked'], + styles: ['solid'], + label: 'Door Closed', + }, + { + name: 'door-open', + search: ['enter', 'exit', 'welcome'], + styles: ['solid'], + label: 'Door Open', + }, + { + name: 'dot-circle', + search: ['bullseye', 'notification', 'target'], + styles: ['solid', 'regular'], + label: 'Dot Circle', + }, + { + name: 'dove', + search: ['bird', 'fauna', 'flying', 'peace', 'war'], + styles: ['solid'], + label: 'Dove', + }, + { + name: 'download', + search: ['export', 'hard drive', 'save', 'transfer'], + styles: ['solid'], + label: 'Download', + }, + { + name: 'draft2digital', + search: [], + styles: ['brands'], + label: 'Draft2digital', + }, + { + name: 'drafting-compass', + search: ['design', 'map', 'mechanical drawing', 'plot', 'plotting'], + styles: ['solid'], + label: 'Drafting Compass', + }, + { + name: 'dragon', + search: [ + 'Dungeons & Dragons', + 'd&d', + 'dnd', + 'fantasy', + 'fire', + 'lizard', + 'serpent', + ], + styles: ['solid'], + label: 'Dragon', + }, + { + name: 'draw-polygon', + search: ['anchors', 'lines', 'object', 'render', 'shape'], + styles: ['solid'], + label: 'Draw Polygon', + }, + { + name: 'dribbble', + search: [], + styles: ['brands'], + label: 'Dribbble', + }, + { + name: 'dribbble-square', + search: [], + styles: ['brands'], + label: 'Dribbble Square', + }, + { + name: 'dropbox', + search: [], + styles: ['brands'], + label: 'Dropbox', + }, + { + name: 'drum', + search: ['instrument', 'music', 'percussion', 'snare', 'sound'], + styles: ['solid'], + label: 'Drum', + }, + { + name: 'drum-steelpan', + search: [ + 'calypso', + 'instrument', + 'music', + 'percussion', + 'reggae', + 'snare', + 'sound', + 'steel', + 'tropical', + ], + styles: ['solid'], + label: 'Drum Steelpan', + }, + { + name: 'drumstick-bite', + search: ['bone', 'chicken', 'leg', 'meat', 'poultry', 'turkey'], + styles: ['solid'], + label: 'Drumstick with Bite Taken Out', + }, + { + name: 'drupal', + search: [], + styles: ['brands'], + label: 'Drupal Logo', + }, + { + name: 'dumbbell', + search: ['exercise', 'gym', 'strength', 'weight', 'weight-lifting'], + styles: ['solid'], + label: 'Dumbbell', + }, + { + name: 'dumpster', + search: ['alley', 'bin', 'commercial', 'trash', 'waste'], + styles: ['solid'], + label: 'Dumpster', + }, + { + name: 'dumpster-fire', + search: [ + 'alley', + 'bin', + 'commercial', + 'danger', + 'dangerous', + 'euphemism', + 'flame', + 'heat', + 'hot', + 'trash', + 'waste', + ], + styles: ['solid'], + label: 'Dumpster Fire', + }, + { + name: 'dungeon', + search: [ + 'Dungeons & Dragons', + 'building', + 'd&d', + 'dnd', + 'door', + 'entrance', + 'fantasy', + 'gate', + ], + styles: ['solid'], + label: 'Dungeon', + }, + { + name: 'dyalog', + search: [], + styles: ['brands'], + label: 'Dyalog', + }, + { + name: 'earlybirds', + search: [], + styles: ['brands'], + label: 'Earlybirds', + }, + { + name: 'ebay', + search: [], + styles: ['brands'], + label: 'eBay', + }, + { + name: 'edge', + search: ['browser', 'ie'], + styles: ['brands'], + label: 'Edge Browser', + }, + { + name: 'edit', + search: ['edit', 'pen', 'pencil', 'update', 'write'], + styles: ['solid', 'regular'], + label: 'Edit', + }, + { + name: 'egg', + search: ['breakfast', 'chicken', 'easter', 'shell', 'yolk'], + styles: ['solid'], + label: 'Egg', + }, + { + name: 'eject', + search: ['abort', 'cancel', 'cd', 'discharge'], + styles: ['solid'], + label: 'eject', + }, + { + name: 'elementor', + search: [], + styles: ['brands'], + label: 'Elementor', + }, + { + name: 'ellipsis-h', + search: [ + 'dots', + 'drag', + 'kebab', + 'list', + 'menu', + 'nav', + 'navigation', + 'ol', + 'reorder', + 'settings', + 'ul', + ], + styles: ['solid'], + label: 'Horizontal Ellipsis', + }, + { + name: 'ellipsis-v', + search: [ + 'dots', + 'drag', + 'kebab', + 'list', + 'menu', + 'nav', + 'navigation', + 'ol', + 'reorder', + 'settings', + 'ul', + ], + styles: ['solid'], + label: 'Vertical Ellipsis', + }, + { + name: 'ello', + search: [], + styles: ['brands'], + label: 'Ello', + }, + { + name: 'ember', + search: [], + styles: ['brands'], + label: 'Ember', + }, + { + name: 'empire', + search: [], + styles: ['brands'], + label: 'Galactic Empire', + }, + { + name: 'envelope', + search: [ + 'e-mail', + 'email', + 'letter', + 'mail', + 'message', + 'notification', + 'support', + ], + styles: ['solid', 'regular'], + label: 'Envelope', + }, + { + name: 'envelope-open', + search: [ + 'e-mail', + 'email', + 'letter', + 'mail', + 'message', + 'notification', + 'support', + ], + styles: ['solid', 'regular'], + label: 'Envelope Open', + }, + { + name: 'envelope-open-text', + search: [ + 'e-mail', + 'email', + 'letter', + 'mail', + 'message', + 'notification', + 'support', + ], + styles: ['solid'], + label: 'Envelope Open-text', + }, + { + name: 'envelope-square', + search: [ + 'e-mail', + 'email', + 'letter', + 'mail', + 'message', + 'notification', + 'support', + ], + styles: ['solid'], + label: 'Envelope Square', + }, + { + name: 'envira', + search: ['leaf'], + styles: ['brands'], + label: 'Envira Gallery', + }, + { + name: 'equals', + search: ['arithmetic', 'even', 'match', 'math'], + styles: ['solid'], + label: 'Equals', + }, + { + name: 'eraser', + search: ['art', 'delete', 'remove', 'rubber'], + styles: ['solid'], + label: 'eraser', + }, + { + name: 'erlang', + search: [], + styles: ['brands'], + label: 'Erlang', + }, + { + name: 'ethereum', + search: [], + styles: ['brands'], + label: 'Ethereum', + }, + { + name: 'ethernet', + search: [ + 'cable', + 'cat 5', + 'cat 6', + 'connection', + 'hardware', + 'internet', + 'network', + 'wired', + ], + styles: ['solid'], + label: 'Ethernet', + }, + { + name: 'etsy', + search: [], + styles: ['brands'], + label: 'Etsy', + }, + { + name: 'euro-sign', + search: ['currency', 'dollar', 'exchange', 'money'], + styles: ['solid'], + label: 'Euro Sign', + }, + { + name: 'evernote', + search: [], + styles: ['brands'], + label: 'Evernote', + }, + { + name: 'exchange-alt', + search: [ + 'arrow', + 'arrows', + 'exchange', + 'reciprocate', + 'return', + 'swap', + 'transfer', + ], + styles: ['solid'], + label: 'Alternate Exchange', + }, + { + name: 'exclamation', + search: [ + 'alert', + 'danger', + 'error', + 'important', + 'notice', + 'notification', + 'notify', + 'problem', + 'warning', + ], + styles: ['solid'], + label: 'exclamation', + }, + { + name: 'exclamation-circle', + search: [ + 'alert', + 'danger', + 'error', + 'important', + 'notice', + 'notification', + 'notify', + 'problem', + 'warning', + ], + styles: ['solid'], + label: 'Exclamation Circle', + }, + { + name: 'exclamation-triangle', + search: [ + 'alert', + 'danger', + 'error', + 'important', + 'notice', + 'notification', + 'notify', + 'problem', + 'warning', + ], + styles: ['solid'], + label: 'Exclamation Triangle', + }, + { + name: 'expand', + search: ['arrow', 'bigger', 'enlarge', 'resize'], + styles: ['solid'], + label: 'Expand', + }, + { + name: 'expand-alt', + search: ['arrow', 'bigger', 'enlarge', 'resize'], + styles: ['solid'], + label: 'Alternate Expand', + }, + { + name: 'expand-arrows-alt', + search: ['arrows-alt', 'bigger', 'enlarge', 'move', 'resize'], + styles: ['solid'], + label: 'Alternate Expand Arrows', + }, + { + name: 'expeditedssl', + search: [], + styles: ['brands'], + label: 'ExpeditedSSL', + }, + { + name: 'external-link-alt', + search: ['external-link', 'new', 'open', 'share'], + styles: ['solid'], + label: 'Alternate External Link', + }, + { + name: 'external-link-square-alt', + search: ['external-link-square', 'new', 'open', 'share'], + styles: ['solid'], + label: 'Alternate External Link Square', + }, + { + name: 'eye', + search: [ + 'look', + 'optic', + 'see', + 'seen', + 'show', + 'sight', + 'views', + 'visible', + ], + styles: ['solid', 'regular'], + label: 'Eye', + }, + { + name: 'eye-dropper', + search: ['beaker', 'clone', 'color', 'copy', 'eyedropper', 'pipette'], + styles: ['solid'], + label: 'Eye Dropper', + }, + { + name: 'eye-slash', + search: [ + 'blind', + 'hide', + 'show', + 'toggle', + 'unseen', + 'views', + 'visible', + 'visiblity', + ], + styles: ['solid', 'regular'], + label: 'Eye Slash', + }, + { + name: 'facebook', + search: ['facebook-official', 'social network'], + styles: ['brands'], + label: 'Facebook', + }, + { + name: 'facebook-f', + search: ['facebook'], + styles: ['brands'], + label: 'Facebook F', + }, + { + name: 'facebook-messenger', + search: [], + styles: ['brands'], + label: 'Facebook Messenger', + }, + { + name: 'facebook-square', + search: ['social network'], + styles: ['brands'], + label: 'Facebook Square', + }, + { + name: 'fan', + search: ['ac', 'air conditioning', 'blade', 'blower', 'cool', 'hot'], + styles: ['solid'], + label: 'Fan', + }, + { + name: 'fantasy-flight-games', + search: [ + 'Dungeons & Dragons', + 'd&d', + 'dnd', + 'fantasy', + 'game', + 'gaming', + 'tabletop', + ], + styles: ['brands'], + label: 'Fantasy Flight-games', + }, + { + name: 'fast-backward', + search: ['beginning', 'first', 'previous', 'rewind', 'start'], + styles: ['solid'], + label: 'fast-backward', + }, + { + name: 'fast-forward', + search: ['end', 'last', 'next'], + styles: ['solid'], + label: 'fast-forward', + }, + { + name: 'faucet', + search: [ + 'covid-19', + 'drip', + 'house', + 'hygiene', + 'kitchen', + 'sink', + 'water', + ], + styles: ['solid'], + label: 'Faucet', + }, + { + name: 'fax', + search: ['business', 'communicate', 'copy', 'facsimile', 'send'], + styles: ['solid'], + label: 'Fax', + }, + { + name: 'feather', + search: ['bird', 'light', 'plucked', 'quill', 'write'], + styles: ['solid'], + label: 'Feather', + }, + { + name: 'feather-alt', + search: ['bird', 'light', 'plucked', 'quill', 'write'], + styles: ['solid'], + label: 'Alternate Feather', + }, + { + name: 'fedex', + search: ['Federal Express', 'package', 'shipping'], + styles: ['brands'], + label: 'FedEx', + }, + { + name: 'fedora', + search: ['linux', 'operating system', 'os'], + styles: ['brands'], + label: 'Fedora', + }, + { + name: 'female', + search: ['human', 'person', 'profile', 'user', 'woman'], + styles: ['solid'], + label: 'Female', + }, + { + name: 'fighter-jet', + search: [ + 'airplane', + 'fast', + 'fly', + 'goose', + 'maverick', + 'plane', + 'quick', + 'top gun', + 'transportation', + 'travel', + ], + styles: ['solid'], + label: 'fighter-jet', + }, + { + name: 'figma', + search: ['app', 'design', 'interface'], + styles: ['brands'], + label: 'Figma', + }, + { + name: 'file', + search: ['document', 'new', 'page', 'pdf', 'resume'], + styles: ['solid', 'regular'], + label: 'File', + }, + { + name: 'file-alt', + search: ['document', 'file-text', 'invoice', 'new', 'page', 'pdf'], + styles: ['solid', 'regular'], + label: 'Alternate File', + }, + { + name: 'file-archive', + search: ['.zip', 'bundle', 'compress', 'compression', 'download', 'zip'], + styles: ['solid', 'regular'], + label: 'Archive File', + }, + { + name: 'file-audio', + search: ['document', 'mp3', 'music', 'page', 'play', 'sound'], + styles: ['solid', 'regular'], + label: 'Audio File', + }, + { + name: 'file-code', + search: ['css', 'development', 'document', 'html'], + styles: ['solid', 'regular'], + label: 'Code File', + }, + { + name: 'file-contract', + search: ['agreement', 'binding', 'document', 'legal', 'signature'], + styles: ['solid'], + label: 'File Contract', + }, + { + name: 'file-csv', + search: ['document', 'excel', 'numbers', 'spreadsheets', 'table'], + styles: ['solid'], + label: 'File CSV', + }, + { + name: 'file-download', + search: ['document', 'export', 'save'], + styles: ['solid'], + label: 'File Download', + }, + { + name: 'file-excel', + search: ['csv', 'document', 'numbers', 'spreadsheets', 'table'], + styles: ['solid', 'regular'], + label: 'Excel File', + }, + { + name: 'file-export', + search: ['download', 'save'], + styles: ['solid'], + label: 'File Export', + }, + { + name: 'file-image', + search: ['document', 'image', 'jpg', 'photo', 'png'], + styles: ['solid', 'regular'], + label: 'Image File', + }, + { + name: 'file-import', + search: ['copy', 'document', 'send', 'upload'], + styles: ['solid'], + label: 'File Import', + }, + { + name: 'file-invoice', + search: ['account', 'bill', 'charge', 'document', 'payment', 'receipt'], + styles: ['solid'], + label: 'File Invoice', + }, + { + name: 'file-invoice-dollar', + search: [ + '$', + 'account', + 'bill', + 'charge', + 'document', + 'dollar-sign', + 'money', + 'payment', + 'receipt', + 'usd', + ], + styles: ['solid'], + label: 'File Invoice with US Dollar', + }, + { + name: 'file-medical', + search: ['document', 'health', 'history', 'prescription', 'record'], + styles: ['solid'], + label: 'Medical File', + }, + { + name: 'file-medical-alt', + search: ['document', 'health', 'history', 'prescription', 'record'], + styles: ['solid'], + label: 'Alternate Medical File', + }, + { + name: 'file-pdf', + search: ['acrobat', 'document', 'preview', 'save'], + styles: ['solid', 'regular'], + label: 'PDF File', + }, + { + name: 'file-powerpoint', + search: ['display', 'document', 'keynote', 'presentation'], + styles: ['solid', 'regular'], + label: 'Powerpoint File', + }, + { + name: 'file-prescription', + search: ['document', 'drugs', 'medical', 'medicine', 'rx'], + styles: ['solid'], + label: 'File Prescription', + }, + { + name: 'file-signature', + search: ['John Hancock', 'contract', 'document', 'name'], + styles: ['solid'], + label: 'File Signature', + }, + { + name: 'file-upload', + search: ['document', 'import', 'page', 'save'], + styles: ['solid'], + label: 'File Upload', + }, + { + name: 'file-video', + search: ['document', 'm4v', 'movie', 'mp4', 'play'], + styles: ['solid', 'regular'], + label: 'Video File', + }, + { + name: 'file-word', + search: ['document', 'edit', 'page', 'text', 'writing'], + styles: ['solid', 'regular'], + label: 'Word File', + }, + { + name: 'fill', + search: ['bucket', 'color', 'paint', 'paint bucket'], + styles: ['solid'], + label: 'Fill', + }, + { + name: 'fill-drip', + search: ['bucket', 'color', 'drop', 'paint', 'paint bucket', 'spill'], + styles: ['solid'], + label: 'Fill Drip', + }, + { + name: 'film', + search: ['cinema', 'movie', 'strip', 'video'], + styles: ['solid'], + label: 'Film', + }, + { + name: 'filter', + search: ['funnel', 'options', 'separate', 'sort'], + styles: ['solid'], + label: 'Filter', + }, + { + name: 'fingerprint', + search: [ + 'human', + 'id', + 'identification', + 'lock', + 'smudge', + 'touch', + 'unique', + 'unlock', + ], + styles: ['solid'], + label: 'Fingerprint', + }, + { + name: 'fire', + search: ['burn', 'caliente', 'flame', 'heat', 'hot', 'popular'], + styles: ['solid'], + label: 'fire', + }, + { + name: 'fire-alt', + search: ['burn', 'caliente', 'flame', 'heat', 'hot', 'popular'], + styles: ['solid'], + label: 'Alternate Fire', + }, + { + name: 'fire-extinguisher', + search: [ + 'burn', + 'caliente', + 'fire fighter', + 'flame', + 'heat', + 'hot', + 'rescue', + ], + styles: ['solid'], + label: 'fire-extinguisher', + }, + { + name: 'firefox', + search: ['browser'], + styles: ['brands'], + label: 'Firefox', + }, + { + name: 'firefox-browser', + search: ['browser'], + styles: ['brands'], + label: 'Firefox Browser', + }, + { + name: 'first-aid', + search: ['emergency', 'emt', 'health', 'medical', 'rescue'], + styles: ['solid'], + label: 'First Aid', + }, + { + name: 'first-order', + search: [], + styles: ['brands'], + label: 'First Order', + }, + { + name: 'first-order-alt', + search: [], + styles: ['brands'], + label: 'Alternate First Order', + }, + { + name: 'firstdraft', + search: [], + styles: ['brands'], + label: 'firstdraft', + }, + { + name: 'fish', + search: ['fauna', 'gold', 'seafood', 'swimming'], + styles: ['solid'], + label: 'Fish', + }, + { + name: 'fist-raised', + search: [ + 'Dungeons & Dragons', + 'd&d', + 'dnd', + 'fantasy', + 'hand', + 'ki', + 'monk', + 'resist', + 'strength', + 'unarmed combat', + ], + styles: ['solid'], + label: 'Raised Fist', + }, + { + name: 'flag', + search: [ + 'country', + 'notice', + 'notification', + 'notify', + 'pole', + 'report', + 'symbol', + ], + styles: ['solid', 'regular'], + label: 'flag', + }, + { + name: 'flag-checkered', + search: [ + 'notice', + 'notification', + 'notify', + 'pole', + 'racing', + 'report', + 'symbol', + ], + styles: ['solid'], + label: 'flag-checkered', + }, + { + name: 'flag-usa', + search: [ + 'betsy ross', + 'country', + 'old glory', + 'stars', + 'stripes', + 'symbol', + ], + styles: ['solid'], + label: 'United States of America Flag', + }, + { + name: 'flask', + search: ['beaker', 'experimental', 'labs', 'science'], + styles: ['solid'], + label: 'Flask', + }, + { + name: 'flickr', + search: [], + styles: ['brands'], + label: 'Flickr', + }, + { + name: 'flipboard', + search: [], + styles: ['brands'], + label: 'Flipboard', + }, + { + name: 'flushed', + search: ['embarrassed', 'emoticon', 'face'], + styles: ['solid', 'regular'], + label: 'Flushed Face', + }, + { + name: 'fly', + search: [], + styles: ['brands'], + label: 'Fly', + }, + { + name: 'folder', + search: ['archive', 'directory', 'document', 'file'], + styles: ['solid', 'regular'], + label: 'Folder', + }, + { + name: 'folder-minus', + search: [ + 'archive', + 'delete', + 'directory', + 'document', + 'file', + 'negative', + 'remove', + ], + styles: ['solid'], + label: 'Folder Minus', + }, + { + name: 'folder-open', + search: ['archive', 'directory', 'document', 'empty', 'file', 'new'], + styles: ['solid', 'regular'], + label: 'Folder Open', + }, + { + name: 'folder-plus', + search: [ + 'add', + 'archive', + 'create', + 'directory', + 'document', + 'file', + 'new', + 'positive', + ], + styles: ['solid'], + label: 'Folder Plus', + }, + { + name: 'font', + search: ['alphabet', 'glyph', 'text', 'type', 'typeface'], + styles: ['solid'], + label: 'font', + }, + { + name: 'font-awesome', + search: ['meanpath'], + styles: ['brands'], + label: 'Font Awesome', + }, + { + name: 'font-awesome-alt', + search: [], + styles: ['brands'], + label: 'Alternate Font Awesome', + }, + { + name: 'font-awesome-flag', + search: [], + styles: ['brands'], + label: 'Font Awesome Flag', + }, + { + name: 'fonticons', + search: [], + styles: ['brands'], + label: 'Fonticons', + }, + { + name: 'fonticons-fi', + search: [], + styles: ['brands'], + label: 'Fonticons Fi', + }, + { + name: 'football-ball', + search: ['ball', 'fall', 'nfl', 'pigskin', 'seasonal'], + styles: ['solid'], + label: 'Football Ball', + }, + { + name: 'fort-awesome', + search: ['castle'], + styles: ['brands'], + label: 'Fort Awesome', + }, + { + name: 'fort-awesome-alt', + search: ['castle'], + styles: ['brands'], + label: 'Alternate Fort Awesome', + }, + { + name: 'forumbee', + search: [], + styles: ['brands'], + label: 'Forumbee', + }, + { + name: 'forward', + search: ['forward', 'next', 'skip'], + styles: ['solid'], + label: 'forward', + }, + { + name: 'foursquare', + search: [], + styles: ['brands'], + label: 'Foursquare', + }, + { + name: 'free-code-camp', + search: [], + styles: ['brands'], + label: 'freeCodeCamp', + }, + { + name: 'freebsd', + search: [], + styles: ['brands'], + label: 'FreeBSD', + }, + { + name: 'frog', + search: [ + 'amphibian', + 'bullfrog', + 'fauna', + 'hop', + 'kermit', + 'kiss', + 'prince', + 'ribbit', + 'toad', + 'wart', + ], + styles: ['solid'], + label: 'Frog', + }, + { + name: 'frown', + search: ['disapprove', 'emoticon', 'face', 'rating', 'sad'], + styles: ['solid', 'regular'], + label: 'Frowning Face', + }, + { + name: 'frown-open', + search: ['disapprove', 'emoticon', 'face', 'rating', 'sad'], + styles: ['solid', 'regular'], + label: 'Frowning Face With Open Mouth', + }, + { + name: 'fulcrum', + search: [], + styles: ['brands'], + label: 'Fulcrum', + }, + { + name: 'funnel-dollar', + search: ['filter', 'money', 'options', 'separate', 'sort'], + styles: ['solid'], + label: 'Funnel Dollar', + }, + { + name: 'futbol', + search: ['ball', 'football', 'mls', 'soccer'], + styles: ['solid', 'regular'], + label: 'Futbol', + }, + { + name: 'galactic-republic', + search: ['politics', 'star wars'], + styles: ['brands'], + label: 'Galactic Republic', + }, + { + name: 'galactic-senate', + search: ['star wars'], + styles: ['brands'], + label: 'Galactic Senate', + }, + { + name: 'gamepad', + search: [ + 'arcade', + 'controller', + 'd-pad', + 'joystick', + 'video', + 'video game', + ], + styles: ['solid'], + label: 'Gamepad', + }, + { + name: 'gas-pump', + search: ['car', 'fuel', 'gasoline', 'petrol'], + styles: ['solid'], + label: 'Gas Pump', + }, + { + name: 'gavel', + search: ['hammer', 'judge', 'law', 'lawyer', 'opinion'], + styles: ['solid'], + label: 'Gavel', + }, + { + name: 'gem', + search: ['diamond', 'jewelry', 'sapphire', 'stone', 'treasure'], + styles: ['solid', 'regular'], + label: 'Gem', + }, + { + name: 'genderless', + search: ['androgynous', 'asexual', 'sexless'], + styles: ['solid'], + label: 'Genderless', + }, + { + name: 'get-pocket', + search: [], + styles: ['brands'], + label: 'Get Pocket', + }, + { + name: 'gg', + search: [], + styles: ['brands'], + label: 'GG Currency', + }, + { + name: 'gg-circle', + search: [], + styles: ['brands'], + label: 'GG Currency Circle', + }, + { + name: 'ghost', + search: [ + 'apparition', + 'blinky', + 'clyde', + 'floating', + 'halloween', + 'holiday', + 'inky', + 'pinky', + 'spirit', + ], + styles: ['solid'], + label: 'Ghost', + }, + { + name: 'gift', + search: [ + 'christmas', + 'generosity', + 'giving', + 'holiday', + 'party', + 'present', + 'wrapped', + 'xmas', + ], + styles: ['solid'], + label: 'gift', + }, + { + name: 'gifts', + search: [ + 'christmas', + 'generosity', + 'giving', + 'holiday', + 'party', + 'present', + 'wrapped', + 'xmas', + ], + styles: ['solid'], + label: 'Gifts', + }, + { + name: 'git', + search: [], + styles: ['brands'], + label: 'Git', + }, + { + name: 'git-alt', + search: [], + styles: ['brands'], + label: 'Git Alt', + }, + { + name: 'git-square', + search: [], + styles: ['brands'], + label: 'Git Square', + }, + { + name: 'github', + search: ['octocat'], + styles: ['brands'], + label: 'GitHub', + }, + { + name: 'github-alt', + search: ['octocat'], + styles: ['brands'], + label: 'Alternate GitHub', + }, + { + name: 'github-square', + search: ['octocat'], + styles: ['brands'], + label: 'GitHub Square', + }, + { + name: 'gitkraken', + search: [], + styles: ['brands'], + label: 'GitKraken', + }, + { + name: 'gitlab', + search: ['Axosoft'], + styles: ['brands'], + label: 'GitLab', + }, + { + name: 'gitter', + search: [], + styles: ['brands'], + label: 'Gitter', + }, + { + name: 'glass-cheers', + search: [ + 'alcohol', + 'bar', + 'beverage', + 'celebration', + 'champagne', + 'clink', + 'drink', + 'holiday', + 'new year\'s eve', + 'party', + 'toast', + ], + styles: ['solid'], + label: 'Glass Cheers', + }, + { + name: 'glass-martini', + search: ['alcohol', 'bar', 'beverage', 'drink', 'liquor'], + styles: ['solid'], + label: 'Martini Glass', + }, + { + name: 'glass-martini-alt', + search: ['alcohol', 'bar', 'beverage', 'drink', 'liquor'], + styles: ['solid'], + label: 'Alternate Glass Martini', + }, + { + name: 'glass-whiskey', + search: [ + 'alcohol', + 'bar', + 'beverage', + 'bourbon', + 'drink', + 'liquor', + 'neat', + 'rye', + 'scotch', + 'whisky', + ], + styles: ['solid'], + label: 'Glass Whiskey', + }, + { + name: 'glasses', + search: ['hipster', 'nerd', 'reading', 'sight', 'spectacles', 'vision'], + styles: ['solid'], + label: 'Glasses', + }, + { + name: 'glide', + search: [], + styles: ['brands'], + label: 'Glide', + }, + { + name: 'glide-g', + search: [], + styles: ['brands'], + label: 'Glide G', + }, + { + name: 'globe', + search: [ + 'all', + 'coordinates', + 'country', + 'earth', + 'global', + 'gps', + 'language', + 'localize', + 'location', + 'map', + 'online', + 'place', + 'planet', + 'translate', + 'travel', + 'world', + ], + styles: ['solid'], + label: 'Globe', + }, + { + name: 'globe-africa', + search: [ + 'all', + 'country', + 'earth', + 'global', + 'gps', + 'language', + 'localize', + 'location', + 'map', + 'online', + 'place', + 'planet', + 'translate', + 'travel', + 'world', + ], + styles: ['solid'], + label: 'Globe with Africa shown', + }, + { + name: 'globe-americas', + search: [ + 'all', + 'country', + 'earth', + 'global', + 'gps', + 'language', + 'localize', + 'location', + 'map', + 'online', + 'place', + 'planet', + 'translate', + 'travel', + 'world', + ], + styles: ['solid'], + label: 'Globe with Americas shown', + }, + { + name: 'globe-asia', + search: [ + 'all', + 'country', + 'earth', + 'global', + 'gps', + 'language', + 'localize', + 'location', + 'map', + 'online', + 'place', + 'planet', + 'translate', + 'travel', + 'world', + ], + styles: ['solid'], + label: 'Globe with Asia shown', + }, + { + name: 'globe-europe', + search: [ + 'all', + 'country', + 'earth', + 'global', + 'gps', + 'language', + 'localize', + 'location', + 'map', + 'online', + 'place', + 'planet', + 'translate', + 'travel', + 'world', + ], + styles: ['solid'], + label: 'Globe with Europe shown', + }, + { + name: 'gofore', + search: [], + styles: ['brands'], + label: 'Gofore', + }, + { + name: 'golf-ball', + search: ['caddy', 'eagle', 'putt', 'tee'], + styles: ['solid'], + label: 'Golf Ball', + }, + { + name: 'goodreads', + search: [], + styles: ['brands'], + label: 'Goodreads', + }, + { + name: 'goodreads-g', + search: [], + styles: ['brands'], + label: 'Goodreads G', + }, + { + name: 'google', + search: [], + styles: ['brands'], + label: 'Google Logo', + }, + { + name: 'google-drive', + search: [], + styles: ['brands'], + label: 'Google Drive', + }, + { + name: 'google-play', + search: [], + styles: ['brands'], + label: 'Google Play', + }, + { + name: 'google-plus', + search: ['google-plus-circle', 'google-plus-official'], + styles: ['brands'], + label: 'Google Plus', + }, + { + name: 'google-plus-g', + search: ['google-plus', 'social network'], + styles: ['brands'], + label: 'Google Plus G', + }, + { + name: 'google-plus-square', + search: ['social network'], + styles: ['brands'], + label: 'Google Plus Square', + }, + { + name: 'google-wallet', + search: [], + styles: ['brands'], + label: 'Google Wallet', + }, + { + name: 'gopuram', + search: ['building', 'entrance', 'hinduism', 'temple', 'tower'], + styles: ['solid'], + label: 'Gopuram', + }, + { + name: 'graduation-cap', + search: [ + 'ceremony', + 'college', + 'graduate', + 'learning', + 'school', + 'student', + ], + styles: ['solid'], + label: 'Graduation Cap', + }, + { + name: 'gratipay', + search: ['favorite', 'heart', 'like', 'love'], + styles: ['brands'], + label: 'Gratipay (Gittip)', + }, + { + name: 'grav', + search: [], + styles: ['brands'], + label: 'Grav', + }, + { + name: 'greater-than', + search: ['arithmetic', 'compare', 'math'], + styles: ['solid'], + label: 'Greater Than', + }, + { + name: 'greater-than-equal', + search: ['arithmetic', 'compare', 'math'], + styles: ['solid'], + label: 'Greater Than Equal To', + }, + { + name: 'grimace', + search: ['cringe', 'emoticon', 'face', 'teeth'], + styles: ['solid', 'regular'], + label: 'Grimacing Face', + }, + { + name: 'grin', + search: ['emoticon', 'face', 'laugh', 'smile'], + styles: ['solid', 'regular'], + label: 'Grinning Face', + }, + { + name: 'grin-alt', + search: ['emoticon', 'face', 'laugh', 'smile'], + styles: ['solid', 'regular'], + label: 'Alternate Grinning Face', + }, + { + name: 'grin-beam', + search: ['emoticon', 'face', 'laugh', 'smile'], + styles: ['solid', 'regular'], + label: 'Grinning Face With Smiling Eyes', + }, + { + name: 'grin-beam-sweat', + search: ['embarass', 'emoticon', 'face', 'smile'], + styles: ['solid', 'regular'], + label: 'Grinning Face With Sweat', + }, + { + name: 'grin-hearts', + search: ['emoticon', 'face', 'love', 'smile'], + styles: ['solid', 'regular'], + label: 'Smiling Face With Heart-Eyes', + }, + { + name: 'grin-squint', + search: ['emoticon', 'face', 'laugh', 'smile'], + styles: ['solid', 'regular'], + label: 'Grinning Squinting Face', + }, + { + name: 'grin-squint-tears', + search: ['emoticon', 'face', 'happy', 'smile'], + styles: ['solid', 'regular'], + label: 'Rolling on the Floor Laughing', + }, + { + name: 'grin-stars', + search: ['emoticon', 'face', 'star-struck'], + styles: ['solid', 'regular'], + label: 'Star-Struck', + }, + { + name: 'grin-tears', + search: ['LOL', 'emoticon', 'face'], + styles: ['solid', 'regular'], + label: 'Face With Tears of Joy', + }, + { + name: 'grin-tongue', + search: ['LOL', 'emoticon', 'face'], + styles: ['solid', 'regular'], + label: 'Face With Tongue', + }, + { + name: 'grin-tongue-squint', + search: ['LOL', 'emoticon', 'face'], + styles: ['solid', 'regular'], + label: 'Squinting Face With Tongue', + }, + { + name: 'grin-tongue-wink', + search: ['LOL', 'emoticon', 'face'], + styles: ['solid', 'regular'], + label: 'Winking Face With Tongue', + }, + { + name: 'grin-wink', + search: ['emoticon', 'face', 'flirt', 'laugh', 'smile'], + styles: ['solid', 'regular'], + label: 'Grinning Winking Face', + }, + { + name: 'grip-horizontal', + search: ['affordance', 'drag', 'drop', 'grab', 'handle'], + styles: ['solid'], + label: 'Grip Horizontal', + }, + { + name: 'grip-lines', + search: ['affordance', 'drag', 'drop', 'grab', 'handle'], + styles: ['solid'], + label: 'Grip Lines', + }, + { + name: 'grip-lines-vertical', + search: ['affordance', 'drag', 'drop', 'grab', 'handle'], + styles: ['solid'], + label: 'Grip Lines Vertical', + }, + { + name: 'grip-vertical', + search: ['affordance', 'drag', 'drop', 'grab', 'handle'], + styles: ['solid'], + label: 'Grip Vertical', + }, + { + name: 'gripfire', + search: [], + styles: ['brands'], + label: 'Gripfire, Inc.', + }, + { + name: 'grunt', + search: [], + styles: ['brands'], + label: 'Grunt', + }, + { + name: 'guitar', + search: [ + 'acoustic', + 'instrument', + 'music', + 'rock', + 'rock and roll', + 'song', + 'strings', + ], + styles: ['solid'], + label: 'Guitar', + }, + { + name: 'gulp', + search: [], + styles: ['brands'], + label: 'Gulp', + }, + { + name: 'h-square', + search: ['directions', 'emergency', 'hospital', 'hotel', 'map'], + styles: ['solid'], + label: 'H Square', + }, + { + name: 'hacker-news', + search: [], + styles: ['brands'], + label: 'Hacker News', + }, + { + name: 'hacker-news-square', + search: [], + styles: ['brands'], + label: 'Hacker News Square', + }, + { + name: 'hackerrank', + search: [], + styles: ['brands'], + label: 'Hackerrank', + }, + { + name: 'hamburger', + search: [ + 'bacon', + 'beef', + 'burger', + 'burger king', + 'cheeseburger', + 'fast food', + 'grill', + 'ground beef', + 'mcdonalds', + 'sandwich', + ], + styles: ['solid'], + label: 'Hamburger', + }, + { + name: 'hammer', + search: ['admin', 'fix', 'repair', 'settings', 'tool'], + styles: ['solid'], + label: 'Hammer', + }, + { + name: 'hamsa', + search: [ + 'amulet', + 'christianity', + 'islam', + 'jewish', + 'judaism', + 'muslim', + 'protection', + ], + styles: ['solid'], + label: 'Hamsa', + }, + { + name: 'hand-holding', + search: ['carry', 'lift'], + styles: ['solid'], + label: 'Hand Holding', + }, + { + name: 'hand-holding-heart', + search: ['carry', 'charity', 'gift', 'lift', 'package'], + styles: ['solid'], + label: 'Hand Holding Heart', + }, + { + name: 'hand-holding-medical', + search: ['care', 'covid-19', 'donate', 'help'], + styles: ['solid'], + label: 'Hand Holding Medical Cross', + }, + { + name: 'hand-holding-usd', + search: [ + '$', + 'carry', + 'dollar sign', + 'donation', + 'giving', + 'lift', + 'money', + 'price', + ], + styles: ['solid'], + label: 'Hand Holding US Dollar', + }, + { + name: 'hand-holding-water', + search: ['carry', 'covid-19', 'drought', 'grow', 'lift'], + styles: ['solid'], + label: 'Hand Holding Water', + }, + { + name: 'hand-lizard', + search: ['game', 'roshambo'], + styles: ['solid', 'regular'], + label: 'Lizard (Hand)', + }, + { + name: 'hand-middle-finger', + search: ['flip the bird', 'gesture', 'hate', 'rude'], + styles: ['solid'], + label: 'Hand with Middle Finger Raised', + }, + { + name: 'hand-paper', + search: ['game', 'halt', 'roshambo', 'stop'], + styles: ['solid', 'regular'], + label: 'Paper (Hand)', + }, + { + name: 'hand-peace', + search: ['rest', 'truce'], + styles: ['solid', 'regular'], + label: 'Peace (Hand)', + }, + { + name: 'hand-point-down', + search: ['finger', 'hand-o-down', 'point'], + styles: ['solid', 'regular'], + label: 'Hand Pointing Down', + }, + { + name: 'hand-point-left', + search: ['back', 'finger', 'hand-o-left', 'left', 'point', 'previous'], + styles: ['solid', 'regular'], + label: 'Hand Pointing Left', + }, + { + name: 'hand-point-right', + search: ['finger', 'forward', 'hand-o-right', 'next', 'point', 'right'], + styles: ['solid', 'regular'], + label: 'Hand Pointing Right', + }, + { + name: 'hand-point-up', + search: ['finger', 'hand-o-up', 'point'], + styles: ['solid', 'regular'], + label: 'Hand Pointing Up', + }, + { + name: 'hand-pointer', + search: ['arrow', 'cursor', 'select'], + styles: ['solid', 'regular'], + label: 'Pointer (Hand)', + }, + { + name: 'hand-rock', + search: ['fist', 'game', 'roshambo'], + styles: ['solid', 'regular'], + label: 'Rock (Hand)', + }, + { + name: 'hand-scissors', + search: ['cut', 'game', 'roshambo'], + styles: ['solid', 'regular'], + label: 'Scissors (Hand)', + }, + { + name: 'hand-sparkles', + search: ['clean', 'covid-19', 'hygiene', 'magic', 'soap', 'wash'], + styles: ['solid'], + label: 'Hand Sparkles', + }, + { + name: 'hand-spock', + search: ['live long', 'prosper', 'salute', 'star trek', 'vulcan'], + styles: ['solid', 'regular'], + label: 'Spock (Hand)', + }, + { + name: 'hands', + search: ['carry', 'hold', 'lift'], + styles: ['solid'], + label: 'Hands', + }, + { + name: 'hands-helping', + search: ['aid', 'assistance', 'handshake', 'partnership', 'volunteering'], + styles: ['solid'], + label: 'Helping Hands', + }, + { + name: 'hands-wash', + search: ['covid-19', 'hygiene', 'soap', 'wash'], + styles: ['solid'], + label: 'Hands Wash', + }, + { + name: 'handshake', + search: ['agreement', 'greeting', 'meeting', 'partnership'], + styles: ['solid', 'regular'], + label: 'Handshake', + }, + { + name: 'handshake-alt-slash', + search: ['broken', 'covid-19', 'social distance'], + styles: ['solid'], + label: 'Handshake Alternate Slash', + }, + { + name: 'handshake-slash', + search: ['broken', 'covid-19', 'social distance'], + styles: ['solid'], + label: 'Handshake Slash', + }, + { + name: 'hanukiah', + search: ['candle', 'hanukkah', 'jewish', 'judaism', 'light'], + styles: ['solid'], + label: 'Hanukiah', + }, + { + name: 'hard-hat', + search: ['construction', 'hardhat', 'helmet', 'safety'], + styles: ['solid'], + label: 'Hard Hat', + }, + { + name: 'hashtag', + search: ['Twitter', 'instagram', 'pound', 'social media', 'tag'], + styles: ['solid'], + label: 'Hashtag', + }, + { + name: 'hat-cowboy', + search: [ + 'buckaroo', + 'horse', + 'jackeroo', + 'john b.', + 'old west', + 'pardner', + 'ranch', + 'rancher', + 'rodeo', + 'western', + 'wrangler', + ], + styles: ['solid'], + label: 'Cowboy Hat', + }, + { + name: 'hat-cowboy-side', + search: [ + 'buckaroo', + 'horse', + 'jackeroo', + 'john b.', + 'old west', + 'pardner', + 'ranch', + 'rancher', + 'rodeo', + 'western', + 'wrangler', + ], + styles: ['solid'], + label: 'Cowboy Hat Side', + }, + { + name: 'hat-wizard', + search: [ + 'Dungeons & Dragons', + 'accessory', + 'buckle', + 'clothing', + 'd&d', + 'dnd', + 'fantasy', + 'halloween', + 'head', + 'holiday', + 'mage', + 'magic', + 'pointy', + 'witch', + ], + styles: ['solid'], + label: 'Wizard\'s Hat', + }, + { + name: 'hdd', + search: ['cpu', 'hard drive', 'harddrive', 'machine', 'save', 'storage'], + styles: ['solid', 'regular'], + label: 'HDD', + }, + { + name: 'head-side-cough', + search: ['cough', 'covid-19', 'germs', 'lungs', 'respiratory', 'sick'], + styles: ['solid'], + label: 'Head Side Cough', + }, + { + name: 'head-side-cough-slash', + search: ['cough', 'covid-19', 'germs', 'lungs', 'respiratory', 'sick'], + styles: ['solid'], + label: 'Head Side-cough-slash', + }, + { + name: 'head-side-mask', + search: ['breath', 'covid-19', 'filter', 'respirator', 'virus'], + styles: ['solid'], + label: 'Head Side Mask', + }, + { + name: 'head-side-virus', + search: ['cold', 'covid-19', 'flu', 'sick'], + styles: ['solid'], + label: 'Head Side Virus', + }, + { + name: 'heading', + search: ['format', 'header', 'text', 'title'], + styles: ['solid'], + label: 'heading', + }, + { + name: 'headphones', + search: ['audio', 'listen', 'music', 'sound', 'speaker'], + styles: ['solid'], + label: 'headphones', + }, + { + name: 'headphones-alt', + search: ['audio', 'listen', 'music', 'sound', 'speaker'], + styles: ['solid'], + label: 'Alternate Headphones', + }, + { + name: 'headset', + search: [ + 'audio', + 'gamer', + 'gaming', + 'listen', + 'live chat', + 'microphone', + 'shot caller', + 'sound', + 'support', + 'telemarketer', + ], + styles: ['solid'], + label: 'Headset', + }, + { + name: 'heart', + search: ['favorite', 'like', 'love', 'relationship', 'valentine'], + styles: ['solid', 'regular'], + label: 'Heart', + }, + { + name: 'heart-broken', + search: [ + 'breakup', + 'crushed', + 'dislike', + 'dumped', + 'grief', + 'love', + 'lovesick', + 'relationship', + 'sad', + ], + styles: ['solid'], + label: 'Heart Broken', + }, + { + name: 'heartbeat', + search: ['ekg', 'electrocardiogram', 'health', 'lifeline', 'vital signs'], + styles: ['solid'], + label: 'Heartbeat', + }, + { + name: 'helicopter', + search: ['airwolf', 'apache', 'chopper', 'flight', 'fly', 'travel'], + styles: ['solid'], + label: 'Helicopter', + }, + { + name: 'highlighter', + search: ['edit', 'marker', 'sharpie', 'update', 'write'], + styles: ['solid'], + label: 'Highlighter', + }, + { + name: 'hiking', + search: [ + 'activity', + 'backpack', + 'fall', + 'fitness', + 'outdoors', + 'person', + 'seasonal', + 'walking', + ], + styles: ['solid'], + label: 'Hiking', + }, + { + name: 'hippo', + search: ['animal', 'fauna', 'hippopotamus', 'hungry', 'mammal'], + styles: ['solid'], + label: 'Hippo', + }, + { + name: 'hips', + search: [], + styles: ['brands'], + label: 'Hips', + }, + { + name: 'hire-a-helper', + search: [], + styles: ['brands'], + label: 'HireAHelper', + }, + { + name: 'history', + search: ['Rewind', 'clock', 'reverse', 'time', 'time machine'], + styles: ['solid'], + label: 'History', + }, + { + name: 'hockey-puck', + search: ['ice', 'nhl', 'sport'], + styles: ['solid'], + label: 'Hockey Puck', + }, + { + name: 'holly-berry', + search: [ + 'catwoman', + 'christmas', + 'decoration', + 'flora', + 'halle', + 'holiday', + 'ororo munroe', + 'plant', + 'storm', + 'xmas', + ], + styles: ['solid'], + label: 'Holly Berry', + }, + { + name: 'home', + search: ['abode', 'building', 'house', 'main'], + styles: ['solid'], + label: 'home', + }, + { + name: 'hooli', + search: [], + styles: ['brands'], + label: 'Hooli', + }, + { + name: 'hornbill', + search: [], + styles: ['brands'], + label: 'Hornbill', + }, + { + name: 'horse', + search: ['equus', 'fauna', 'mammmal', 'mare', 'neigh', 'pony'], + styles: ['solid'], + label: 'Horse', + }, + { + name: 'horse-head', + search: ['equus', 'fauna', 'mammmal', 'mare', 'neigh', 'pony'], + styles: ['solid'], + label: 'Horse Head', + }, + { + name: 'hospital', + search: ['building', 'covid-19', 'emergency room', 'medical center'], + styles: ['solid', 'regular'], + label: 'hospital', + }, + { + name: 'hospital-alt', + search: ['building', 'covid-19', 'emergency room', 'medical center'], + styles: ['solid'], + label: 'Alternate Hospital', + }, + { + name: 'hospital-symbol', + search: ['clinic', 'covid-19', 'emergency', 'map'], + styles: ['solid'], + label: 'Hospital Symbol', + }, + { + name: 'hospital-user', + search: ['covid-19', 'doctor', 'network', 'patient', 'primary care'], + styles: ['solid'], + label: 'Hospital with User', + }, + { + name: 'hot-tub', + search: ['bath', 'jacuzzi', 'massage', 'sauna', 'spa'], + styles: ['solid'], + label: 'Hot Tub', + }, + { + name: 'hotdog', + search: [ + 'bun', + 'chili', + 'frankfurt', + 'frankfurter', + 'kosher', + 'polish', + 'sandwich', + 'sausage', + 'vienna', + 'weiner', + ], + styles: ['solid'], + label: 'Hot Dog', + }, + { + name: 'hotel', + search: ['building', 'inn', 'lodging', 'motel', 'resort', 'travel'], + styles: ['solid'], + label: 'Hotel', + }, + { + name: 'hotjar', + search: [], + styles: ['brands'], + label: 'Hotjar', + }, + { + name: 'hourglass', + search: ['hour', 'minute', 'sand', 'stopwatch', 'time'], + styles: ['solid', 'regular'], + label: 'Hourglass', + }, + { + name: 'hourglass-end', + search: ['hour', 'minute', 'sand', 'stopwatch', 'time'], + styles: ['solid'], + label: 'Hourglass End', + }, + { + name: 'hourglass-half', + search: ['hour', 'minute', 'sand', 'stopwatch', 'time'], + styles: ['solid'], + label: 'Hourglass Half', + }, + { + name: 'hourglass-start', + search: ['hour', 'minute', 'sand', 'stopwatch', 'time'], + styles: ['solid'], + label: 'Hourglass Start', + }, + { + name: 'house-damage', + search: ['building', 'devastation', 'disaster', 'home', 'insurance'], + styles: ['solid'], + label: 'Damaged House', + }, + { + name: 'house-user', + search: ['covid-19', 'home', 'isolation', 'quarantine'], + styles: ['solid'], + label: 'House User', + }, + { + name: 'houzz', + search: [], + styles: ['brands'], + label: 'Houzz', + }, + { + name: 'hryvnia', + search: ['currency', 'money', 'ukraine', 'ukrainian'], + styles: ['solid'], + label: 'Hryvnia', + }, + { + name: 'html5', + search: [], + styles: ['brands'], + label: 'HTML 5 Logo', + }, + { + name: 'hubspot', + search: [], + styles: ['brands'], + label: 'HubSpot', + }, + { + name: 'i-cursor', + search: ['editing', 'i-beam', 'type', 'writing'], + styles: ['solid'], + label: 'I Beam Cursor', + }, + { + name: 'ice-cream', + search: [ + 'chocolate', + 'cone', + 'dessert', + 'frozen', + 'scoop', + 'sorbet', + 'vanilla', + 'yogurt', + ], + styles: ['solid'], + label: 'Ice Cream', + }, + { + name: 'icicles', + search: ['cold', 'frozen', 'hanging', 'ice', 'seasonal', 'sharp'], + styles: ['solid'], + label: 'Icicles', + }, + { + name: 'icons', + search: ['bolt', 'emoji', 'heart', 'image', 'music', 'photo', 'symbols'], + styles: ['solid'], + label: 'Icons', + }, + { + name: 'id-badge', + search: ['address', 'contact', 'identification', 'license', 'profile'], + styles: ['solid', 'regular'], + label: 'Identification Badge', + }, + { + name: 'id-card', + search: [ + 'contact', + 'demographics', + 'document', + 'identification', + 'issued', + 'profile', + ], + styles: ['solid', 'regular'], + label: 'Identification Card', + }, + { + name: 'id-card-alt', + search: [ + 'contact', + 'demographics', + 'document', + 'identification', + 'issued', + 'profile', + ], + styles: ['solid'], + label: 'Alternate Identification Card', + }, + { + name: 'ideal', + search: [], + styles: ['brands'], + label: 'iDeal', + }, + { + name: 'igloo', + search: ['dome', 'dwelling', 'eskimo', 'home', 'house', 'ice', 'snow'], + styles: ['solid'], + label: 'Igloo', + }, + { + name: 'image', + search: ['album', 'landscape', 'photo', 'picture'], + styles: ['solid', 'regular'], + label: 'Image', + }, + { + name: 'images', + search: ['album', 'landscape', 'photo', 'picture'], + styles: ['solid', 'regular'], + label: 'Images', + }, + { + name: 'imdb', + search: [], + styles: ['brands'], + label: 'IMDB', + }, + { + name: 'inbox', + search: ['archive', 'desk', 'email', 'mail', 'message'], + styles: ['solid'], + label: 'inbox', + }, + { + name: 'indent', + search: ['align', 'justify', 'paragraph', 'tab'], + styles: ['solid'], + label: 'Indent', + }, + { + name: 'industry', + search: [ + 'building', + 'factory', + 'industrial', + 'manufacturing', + 'mill', + 'warehouse', + ], + styles: ['solid'], + label: 'Industry', + }, + { + name: 'infinity', + search: ['eternity', 'forever', 'math'], + styles: ['solid'], + label: 'Infinity', + }, + { + name: 'info', + search: ['details', 'help', 'information', 'more', 'support'], + styles: ['solid'], + label: 'Info', + }, + { + name: 'info-circle', + search: ['details', 'help', 'information', 'more', 'support'], + styles: ['solid'], + label: 'Info Circle', + }, + { + name: 'instagram', + search: [], + styles: ['brands'], + label: 'Instagram', + }, + { + name: 'instagram-square', + search: [], + styles: ['brands'], + label: 'Instagram Square', + }, + { + name: 'intercom', + search: ['app', 'customer', 'messenger'], + styles: ['brands'], + label: 'Intercom', + }, + { + name: 'internet-explorer', + search: ['browser', 'ie'], + styles: ['brands'], + label: 'Internet-explorer', + }, + { + name: 'invision', + search: ['app', 'design', 'interface'], + styles: ['brands'], + label: 'InVision', + }, + { + name: 'ioxhost', + search: [], + styles: ['brands'], + label: 'ioxhost', + }, + { + name: 'italic', + search: ['edit', 'emphasis', 'font', 'format', 'text', 'type'], + styles: ['solid'], + label: 'italic', + }, + { + name: 'itch-io', + search: [], + styles: ['brands'], + label: 'itch.io', + }, + { + name: 'itunes', + search: [], + styles: ['brands'], + label: 'iTunes', + }, + { + name: 'itunes-note', + search: [], + styles: ['brands'], + label: 'Itunes Note', + }, + { + name: 'java', + search: [], + styles: ['brands'], + label: 'Java', + }, + { + name: 'jedi', + search: ['crest', 'force', 'sith', 'skywalker', 'star wars', 'yoda'], + styles: ['solid'], + label: 'Jedi', + }, + { + name: 'jedi-order', + search: ['star wars'], + styles: ['brands'], + label: 'Jedi Order', + }, + { + name: 'jenkins', + search: [], + styles: ['brands'], + label: 'Jenkis', + }, + { + name: 'jira', + search: ['atlassian'], + styles: ['brands'], + label: 'Jira', + }, + { + name: 'joget', + search: [], + styles: ['brands'], + label: 'Joget', + }, + { + name: 'joint', + search: [ + 'blunt', + 'cannabis', + 'doobie', + 'drugs', + 'marijuana', + 'roach', + 'smoke', + 'smoking', + 'spliff', + ], + styles: ['solid'], + label: 'Joint', + }, + { + name: 'joomla', + search: [], + styles: ['brands'], + label: 'Joomla Logo', + }, + { + name: 'journal-whills', + search: ['book', 'force', 'jedi', 'sith', 'star wars', 'yoda'], + styles: ['solid'], + label: 'Journal of the Whills', + }, + { + name: 'js', + search: [], + styles: ['brands'], + label: 'JavaScript (JS)', + }, + { + name: 'js-square', + search: [], + styles: ['brands'], + label: 'JavaScript (JS) Square', + }, + { + name: 'jsfiddle', + search: [], + styles: ['brands'], + label: 'jsFiddle', + }, + { + name: 'kaaba', + search: ['building', 'cube', 'islam', 'muslim'], + styles: ['solid'], + label: 'Kaaba', + }, + { + name: 'kaggle', + search: [], + styles: ['brands'], + label: 'Kaggle', + }, + { + name: 'key', + search: ['lock', 'password', 'private', 'secret', 'unlock'], + styles: ['solid'], + label: 'key', + }, + { + name: 'keybase', + search: [], + styles: ['brands'], + label: 'Keybase', + }, + { + name: 'keyboard', + search: ['accessory', 'edit', 'input', 'text', 'type', 'write'], + styles: ['solid', 'regular'], + label: 'Keyboard', + }, + { + name: 'keycdn', + search: [], + styles: ['brands'], + label: 'KeyCDN', + }, + { + name: 'khanda', + search: ['chakkar', 'sikh', 'sikhism', 'sword'], + styles: ['solid'], + label: 'Khanda', + }, + { + name: 'kickstarter', + search: [], + styles: ['brands'], + label: 'Kickstarter', + }, + { + name: 'kickstarter-k', + search: [], + styles: ['brands'], + label: 'Kickstarter K', + }, + { + name: 'kiss', + search: ['beso', 'emoticon', 'face', 'love', 'smooch'], + styles: ['solid', 'regular'], + label: 'Kissing Face', + }, + { + name: 'kiss-beam', + search: ['beso', 'emoticon', 'face', 'love', 'smooch'], + styles: ['solid', 'regular'], + label: 'Kissing Face With Smiling Eyes', + }, + { + name: 'kiss-wink-heart', + search: ['beso', 'emoticon', 'face', 'love', 'smooch'], + styles: ['solid', 'regular'], + label: 'Face Blowing a Kiss', + }, + { + name: 'kiwi-bird', + search: ['bird', 'fauna', 'new zealand'], + styles: ['solid'], + label: 'Kiwi Bird', + }, + { + name: 'korvue', + search: [], + styles: ['brands'], + label: 'KORVUE', + }, + { + name: 'landmark', + search: ['building', 'historic', 'memorable', 'monument', 'politics'], + styles: ['solid'], + label: 'Landmark', + }, + { + name: 'language', + search: [ + 'dialect', + 'idiom', + 'localize', + 'speech', + 'translate', + 'vernacular', + ], + styles: ['solid'], + label: 'Language', + }, + { + name: 'laptop', + search: [ + 'computer', + 'cpu', + 'dell', + 'demo', + 'device', + 'mac', + 'macbook', + 'machine', + 'pc', + ], + styles: ['solid'], + label: 'Laptop', + }, + { + name: 'laptop-code', + search: [ + 'computer', + 'cpu', + 'dell', + 'demo', + 'develop', + 'device', + 'mac', + 'macbook', + 'machine', + 'pc', + ], + styles: ['solid'], + label: 'Laptop Code', + }, + { + name: 'laptop-house', + search: [ + 'computer', + 'covid-19', + 'device', + 'office', + 'remote', + 'work from home', + ], + styles: ['solid'], + label: 'Laptop House', + }, + { + name: 'laptop-medical', + search: [ + 'computer', + 'device', + 'ehr', + 'electronic health records', + 'history', + ], + styles: ['solid'], + label: 'Laptop Medical', + }, + { + name: 'laravel', + search: [], + styles: ['brands'], + label: 'Laravel', + }, + { + name: 'lastfm', + search: [], + styles: ['brands'], + label: 'last.fm', + }, + { + name: 'lastfm-square', + search: [], + styles: ['brands'], + label: 'last.fm Square', + }, + { + name: 'laugh', + search: ['LOL', 'emoticon', 'face', 'laugh', 'smile'], + styles: ['solid', 'regular'], + label: 'Grinning Face With Big Eyes', + }, + { + name: 'laugh-beam', + search: ['LOL', 'emoticon', 'face', 'happy', 'smile'], + styles: ['solid', 'regular'], + label: 'Laugh Face with Beaming Eyes', + }, + { + name: 'laugh-squint', + search: ['LOL', 'emoticon', 'face', 'happy', 'smile'], + styles: ['solid', 'regular'], + label: 'Laughing Squinting Face', + }, + { + name: 'laugh-wink', + search: ['LOL', 'emoticon', 'face', 'happy', 'smile'], + styles: ['solid', 'regular'], + label: 'Laughing Winking Face', + }, + { + name: 'layer-group', + search: ['arrange', 'develop', 'layers', 'map', 'stack'], + styles: ['solid'], + label: 'Layer Group', + }, + { + name: 'leaf', + search: ['eco', 'flora', 'nature', 'plant', 'vegan'], + styles: ['solid'], + label: 'leaf', + }, + { + name: 'leanpub', + search: [], + styles: ['brands'], + label: 'Leanpub', + }, + { + name: 'lemon', + search: ['citrus', 'lemonade', 'lime', 'tart'], + styles: ['solid', 'regular'], + label: 'Lemon', + }, + { + name: 'less', + search: [], + styles: ['brands'], + label: 'Less', + }, + { + name: 'less-than', + search: ['arithmetic', 'compare', 'math'], + styles: ['solid'], + label: 'Less Than', + }, + { + name: 'less-than-equal', + search: ['arithmetic', 'compare', 'math'], + styles: ['solid'], + label: 'Less Than Equal To', + }, + { + name: 'level-down-alt', + search: ['arrow', 'level-down'], + styles: ['solid'], + label: 'Alternate Level Down', + }, + { + name: 'level-up-alt', + search: ['arrow', 'level-up'], + styles: ['solid'], + label: 'Alternate Level Up', + }, + { + name: 'life-ring', + search: ['coast guard', 'help', 'overboard', 'save', 'support'], + styles: ['solid', 'regular'], + label: 'Life Ring', + }, + { + name: 'lightbulb', + search: ['energy', 'idea', 'inspiration', 'light'], + styles: ['solid', 'regular'], + label: 'Lightbulb', + }, + { + name: 'line', + search: [], + styles: ['brands'], + label: 'Line', + }, + { + name: 'link', + search: ['attach', 'attachment', 'chain', 'connect'], + styles: ['solid'], + label: 'Link', + }, + { + name: 'linkedin', + search: ['linkedin-square'], + styles: ['brands'], + label: 'LinkedIn', + }, + { + name: 'linkedin-in', + search: ['linkedin'], + styles: ['brands'], + label: 'LinkedIn In', + }, + { + name: 'linode', + search: [], + styles: ['brands'], + label: 'Linode', + }, + { + name: 'linux', + search: ['tux'], + styles: ['brands'], + label: 'Linux', + }, + { + name: 'lira-sign', + search: ['currency', 'money', 'try', 'turkish'], + styles: ['solid'], + label: 'Turkish Lira Sign', + }, + { + name: 'list', + search: ['checklist', 'completed', 'done', 'finished', 'ol', 'todo', 'ul'], + styles: ['solid'], + label: 'List', + }, + { + name: 'list-alt', + search: ['checklist', 'completed', 'done', 'finished', 'ol', 'todo', 'ul'], + styles: ['solid', 'regular'], + label: 'Alternate List', + }, + { + name: 'list-ol', + search: [ + 'checklist', + 'completed', + 'done', + 'finished', + 'numbers', + 'ol', + 'todo', + 'ul', + ], + styles: ['solid'], + label: 'list-ol', + }, + { + name: 'list-ul', + search: ['checklist', 'completed', 'done', 'finished', 'ol', 'todo', 'ul'], + styles: ['solid'], + label: 'list-ul', + }, + { + name: 'location-arrow', + search: [ + 'address', + 'compass', + 'coordinate', + 'direction', + 'gps', + 'map', + 'navigation', + 'place', + ], + styles: ['solid'], + label: 'location-arrow', + }, + { + name: 'lock', + search: [ + 'admin', + 'lock', + 'open', + 'password', + 'private', + 'protect', + 'security', + ], + styles: ['solid'], + label: 'lock', + }, + { + name: 'lock-open', + search: [ + 'admin', + 'lock', + 'open', + 'password', + 'private', + 'protect', + 'security', + ], + styles: ['solid'], + label: 'Lock Open', + }, + { + name: 'long-arrow-alt-down', + search: ['download', 'long-arrow-down'], + styles: ['solid'], + label: 'Alternate Long Arrow Down', + }, + { + name: 'long-arrow-alt-left', + search: ['back', 'long-arrow-left', 'previous'], + styles: ['solid'], + label: 'Alternate Long Arrow Left', + }, + { + name: 'long-arrow-alt-right', + search: ['forward', 'long-arrow-right', 'next'], + styles: ['solid'], + label: 'Alternate Long Arrow Right', + }, + { + name: 'long-arrow-alt-up', + search: ['long-arrow-up', 'upload'], + styles: ['solid'], + label: 'Alternate Long Arrow Up', + }, + { + name: 'low-vision', + search: ['blind', 'eye', 'sight'], + styles: ['solid'], + label: 'Low Vision', + }, + { + name: 'luggage-cart', + search: ['bag', 'baggage', 'suitcase', 'travel'], + styles: ['solid'], + label: 'Luggage Cart', + }, + { + name: 'lungs', + search: ['air', 'breath', 'covid-19', 'organ', 'respiratory'], + styles: ['solid'], + label: 'Lungs', + }, + { + name: 'lungs-virus', + search: ['breath', 'covid-19', 'respiratory', 'sick'], + styles: ['solid'], + label: 'Lungs Virus', + }, + { + name: 'lyft', + search: [], + styles: ['brands'], + label: 'lyft', + }, + { + name: 'magento', + search: [], + styles: ['brands'], + label: 'Magento', + }, + { + name: 'magic', + search: [ + 'autocomplete', + 'automatic', + 'mage', + 'magic', + 'spell', + 'wand', + 'witch', + 'wizard', + ], + styles: ['solid'], + label: 'magic', + }, + { + name: 'magnet', + search: ['Attract', 'lodestone', 'tool'], + styles: ['solid'], + label: 'magnet', + }, + { + name: 'mail-bulk', + search: [ + 'archive', + 'envelope', + 'letter', + 'post office', + 'postal', + 'postcard', + 'send', + 'stamp', + 'usps', + ], + styles: ['solid'], + label: 'Mail Bulk', + }, + { + name: 'mailchimp', + search: [], + styles: ['brands'], + label: 'Mailchimp', + }, + { + name: 'male', + search: ['human', 'man', 'person', 'profile', 'user'], + styles: ['solid'], + label: 'Male', + }, + { + name: 'mandalorian', + search: [], + styles: ['brands'], + label: 'Mandalorian', + }, + { + name: 'map', + search: [ + 'address', + 'coordinates', + 'destination', + 'gps', + 'localize', + 'location', + 'map', + 'navigation', + 'paper', + 'pin', + 'place', + 'point of interest', + 'position', + 'route', + 'travel', + ], + styles: ['solid', 'regular'], + label: 'Map', + }, + { + name: 'map-marked', + search: [ + 'address', + 'coordinates', + 'destination', + 'gps', + 'localize', + 'location', + 'map', + 'navigation', + 'paper', + 'pin', + 'place', + 'point of interest', + 'position', + 'route', + 'travel', + ], + styles: ['solid'], + label: 'Map Marked', + }, + { + name: 'map-marked-alt', + search: [ + 'address', + 'coordinates', + 'destination', + 'gps', + 'localize', + 'location', + 'map', + 'navigation', + 'paper', + 'pin', + 'place', + 'point of interest', + 'position', + 'route', + 'travel', + ], + styles: ['solid'], + label: 'Alternate Map Marked', + }, + { + name: 'map-marker', + search: [ + 'address', + 'coordinates', + 'destination', + 'gps', + 'localize', + 'location', + 'map', + 'navigation', + 'paper', + 'pin', + 'place', + 'point of interest', + 'position', + 'route', + 'travel', + ], + styles: ['solid'], + label: 'map-marker', + }, + { + name: 'map-marker-alt', + search: [ + 'address', + 'coordinates', + 'destination', + 'gps', + 'localize', + 'location', + 'map', + 'navigation', + 'paper', + 'pin', + 'place', + 'point of interest', + 'position', + 'route', + 'travel', + ], + styles: ['solid'], + label: 'Alternate Map Marker', + }, + { + name: 'map-pin', + search: [ + 'address', + 'agree', + 'coordinates', + 'destination', + 'gps', + 'localize', + 'location', + 'map', + 'marker', + 'navigation', + 'pin', + 'place', + 'position', + 'travel', + ], + styles: ['solid'], + label: 'Map Pin', + }, + { + name: 'map-signs', + search: ['directions', 'directory', 'map', 'signage', 'wayfinding'], + styles: ['solid'], + label: 'Map Signs', + }, + { + name: 'markdown', + search: [], + styles: ['brands'], + label: 'Markdown', + }, + { + name: 'marker', + search: ['design', 'edit', 'sharpie', 'update', 'write'], + styles: ['solid'], + label: 'Marker', + }, + { + name: 'mars', + search: ['male'], + styles: ['solid'], + label: 'Mars', + }, + { + name: 'mars-double', + search: [], + styles: ['solid'], + label: 'Mars Double', + }, + { + name: 'mars-stroke', + search: [], + styles: ['solid'], + label: 'Mars Stroke', + }, + { + name: 'mars-stroke-h', + search: [], + styles: ['solid'], + label: 'Mars Stroke Horizontal', + }, + { + name: 'mars-stroke-v', + search: [], + styles: ['solid'], + label: 'Mars Stroke Vertical', + }, + { + name: 'mask', + search: [ + 'carnivale', + 'costume', + 'disguise', + 'halloween', + 'secret', + 'super hero', + ], + styles: ['solid'], + label: 'Mask', + }, + { + name: 'mastodon', + search: [], + styles: ['brands'], + label: 'Mastodon', + }, + { + name: 'maxcdn', + search: [], + styles: ['brands'], + label: 'MaxCDN', + }, + { + name: 'mdb', + search: [], + styles: ['brands'], + label: 'Material Design for Bootstrap', + }, + { + name: 'medal', + search: ['award', 'ribbon', 'star', 'trophy'], + styles: ['solid'], + label: 'Medal', + }, + { + name: 'medapps', + search: [], + styles: ['brands'], + label: 'MedApps', + }, + { + name: 'medium', + search: [], + styles: ['brands'], + label: 'Medium', + }, + { + name: 'medium-m', + search: [], + styles: ['brands'], + label: 'Medium M', + }, + { + name: 'medkit', + search: ['first aid', 'firstaid', 'health', 'help', 'support'], + styles: ['solid'], + label: 'medkit', + }, + { + name: 'medrt', + search: [], + styles: ['brands'], + label: 'MRT', + }, + { + name: 'meetup', + search: [], + styles: ['brands'], + label: 'Meetup', + }, + { + name: 'megaport', + search: [], + styles: ['brands'], + label: 'Megaport', + }, + { + name: 'meh', + search: ['emoticon', 'face', 'neutral', 'rating'], + styles: ['solid', 'regular'], + label: 'Neutral Face', + }, + { + name: 'meh-blank', + search: ['emoticon', 'face', 'neutral', 'rating'], + styles: ['solid', 'regular'], + label: 'Face Without Mouth', + }, + { + name: 'meh-rolling-eyes', + search: ['emoticon', 'face', 'neutral', 'rating'], + styles: ['solid', 'regular'], + label: 'Face With Rolling Eyes', + }, + { + name: 'memory', + search: ['DIMM', 'RAM', 'hardware', 'storage', 'technology'], + styles: ['solid'], + label: 'Memory', + }, + { + name: 'mendeley', + search: [], + styles: ['brands'], + label: 'Mendeley', + }, + { + name: 'menorah', + search: ['candle', 'hanukkah', 'jewish', 'judaism', 'light'], + styles: ['solid'], + label: 'Menorah', + }, + { + name: 'mercury', + search: ['transgender'], + styles: ['solid'], + label: 'Mercury', + }, + { + name: 'meteor', + search: ['armageddon', 'asteroid', 'comet', 'shooting star', 'space'], + styles: ['solid'], + label: 'Meteor', + }, + { + name: 'microblog', + search: [], + styles: ['brands'], + label: 'Micro.blog', + }, + { + name: 'microchip', + search: ['cpu', 'hardware', 'processor', 'technology'], + styles: ['solid'], + label: 'Microchip', + }, + { + name: 'microphone', + search: ['audio', 'podcast', 'record', 'sing', 'sound', 'voice'], + styles: ['solid'], + label: 'microphone', + }, + { + name: 'microphone-alt', + search: ['audio', 'podcast', 'record', 'sing', 'sound', 'voice'], + styles: ['solid'], + label: 'Alternate Microphone', + }, + { + name: 'microphone-alt-slash', + search: [ + 'audio', + 'disable', + 'mute', + 'podcast', + 'record', + 'sing', + 'sound', + 'voice', + ], + styles: ['solid'], + label: 'Alternate Microphone Slash', + }, + { + name: 'microphone-slash', + search: [ + 'audio', + 'disable', + 'mute', + 'podcast', + 'record', + 'sing', + 'sound', + 'voice', + ], + styles: ['solid'], + label: 'Microphone Slash', + }, + { + name: 'microscope', + search: ['covid-19', 'electron', 'lens', 'optics', 'science', 'shrink'], + styles: ['solid'], + label: 'Microscope', + }, + { + name: 'microsoft', + search: [], + styles: ['brands'], + label: 'Microsoft', + }, + { + name: 'minus', + search: [ + 'collapse', + 'delete', + 'hide', + 'minify', + 'negative', + 'remove', + 'trash', + ], + styles: ['solid'], + label: 'minus', + }, + { + name: 'minus-circle', + search: ['delete', 'hide', 'negative', 'remove', 'shape', 'trash'], + styles: ['solid'], + label: 'Minus Circle', + }, + { + name: 'minus-square', + search: [ + 'collapse', + 'delete', + 'hide', + 'minify', + 'negative', + 'remove', + 'shape', + 'trash', + ], + styles: ['solid', 'regular'], + label: 'Minus Square', + }, + { + name: 'mitten', + search: [ + 'clothing', + 'cold', + 'glove', + 'hands', + 'knitted', + 'seasonal', + 'warmth', + ], + styles: ['solid'], + label: 'Mitten', + }, + { + name: 'mix', + search: [], + styles: ['brands'], + label: 'Mix', + }, + { + name: 'mixcloud', + search: [], + styles: ['brands'], + label: 'Mixcloud', + }, + { + name: 'mixer', + search: [], + styles: ['brands'], + label: 'Mixer', + }, + { + name: 'mizuni', + search: [], + styles: ['brands'], + label: 'Mizuni', + }, + { + name: 'mobile', + search: [ + 'apple', + 'call', + 'cell phone', + 'cellphone', + 'device', + 'iphone', + 'number', + 'screen', + 'telephone', + ], + styles: ['solid'], + label: 'Mobile Phone', + }, + { + name: 'mobile-alt', + search: [ + 'apple', + 'call', + 'cell phone', + 'cellphone', + 'device', + 'iphone', + 'number', + 'screen', + 'telephone', + ], + styles: ['solid'], + label: 'Alternate Mobile', + }, + { + name: 'modx', + search: [], + styles: ['brands'], + label: 'MODX', + }, + { + name: 'monero', + search: [], + styles: ['brands'], + label: 'Monero', + }, + { + name: 'money-bill', + search: [ + 'buy', + 'cash', + 'checkout', + 'money', + 'payment', + 'price', + 'purchase', + ], + styles: ['solid'], + label: 'Money Bill', + }, + { + name: 'money-bill-alt', + search: [ + 'buy', + 'cash', + 'checkout', + 'money', + 'payment', + 'price', + 'purchase', + ], + styles: ['solid', 'regular'], + label: 'Alternate Money Bill', + }, + { + name: 'money-bill-wave', + search: [ + 'buy', + 'cash', + 'checkout', + 'money', + 'payment', + 'price', + 'purchase', + ], + styles: ['solid'], + label: 'Wavy Money Bill', + }, + { + name: 'money-bill-wave-alt', + search: [ + 'buy', + 'cash', + 'checkout', + 'money', + 'payment', + 'price', + 'purchase', + ], + styles: ['solid'], + label: 'Alternate Wavy Money Bill', + }, + { + name: 'money-check', + search: [ + 'bank check', + 'buy', + 'checkout', + 'cheque', + 'money', + 'payment', + 'price', + 'purchase', + ], + styles: ['solid'], + label: 'Money Check', + }, + { + name: 'money-check-alt', + search: [ + 'bank check', + 'buy', + 'checkout', + 'cheque', + 'money', + 'payment', + 'price', + 'purchase', + ], + styles: ['solid'], + label: 'Alternate Money Check', + }, + { + name: 'monument', + search: ['building', 'historic', 'landmark', 'memorable'], + styles: ['solid'], + label: 'Monument', + }, + { + name: 'moon', + search: ['contrast', 'crescent', 'dark', 'lunar', 'night'], + styles: ['solid', 'regular'], + label: 'Moon', + }, + { + name: 'mortar-pestle', + search: [ + 'crush', + 'culinary', + 'grind', + 'medical', + 'mix', + 'pharmacy', + 'prescription', + 'spices', + ], + styles: ['solid'], + label: 'Mortar Pestle', + }, + { + name: 'mosque', + search: ['building', 'islam', 'landmark', 'muslim'], + styles: ['solid'], + label: 'Mosque', + }, + { + name: 'motorcycle', + search: ['bike', 'machine', 'transportation', 'vehicle'], + styles: ['solid'], + label: 'Motorcycle', + }, + { + name: 'mountain', + search: ['glacier', 'hiking', 'hill', 'landscape', 'travel', 'view'], + styles: ['solid'], + label: 'Mountain', + }, + { + name: 'mouse', + search: ['click', 'computer', 'cursor', 'input', 'peripheral'], + styles: ['solid'], + label: 'Mouse', + }, + { + name: 'mouse-pointer', + search: ['arrow', 'cursor', 'select'], + styles: ['solid'], + label: 'Mouse Pointer', + }, + { + name: 'mug-hot', + search: [ + 'caliente', + 'cocoa', + 'coffee', + 'cup', + 'drink', + 'holiday', + 'hot chocolate', + 'steam', + 'tea', + 'warmth', + ], + styles: ['solid'], + label: 'Mug Hot', + }, + { + name: 'music', + search: ['lyrics', 'melody', 'note', 'sing', 'sound'], + styles: ['solid'], + label: 'Music', + }, + { + name: 'napster', + search: [], + styles: ['brands'], + label: 'Napster', + }, + { + name: 'neos', + search: [], + styles: ['brands'], + label: 'Neos', + }, + { + name: 'network-wired', + search: ['computer', 'connect', 'ethernet', 'internet', 'intranet'], + styles: ['solid'], + label: 'Wired Network', + }, + { + name: 'neuter', + search: [], + styles: ['solid'], + label: 'Neuter', + }, + { + name: 'newspaper', + search: [ + 'article', + 'editorial', + 'headline', + 'journal', + 'journalism', + 'news', + 'press', + ], + styles: ['solid', 'regular'], + label: 'Newspaper', + }, + { + name: 'nimblr', + search: [], + styles: ['brands'], + label: 'Nimblr', + }, + { + name: 'node', + search: [], + styles: ['brands'], + label: 'Node.js', + }, + { + name: 'node-js', + search: [], + styles: ['brands'], + label: 'Node.js JS', + }, + { + name: 'not-equal', + search: ['arithmetic', 'compare', 'math'], + styles: ['solid'], + label: 'Not Equal', + }, + { + name: 'notes-medical', + search: ['clipboard', 'doctor', 'ehr', 'health', 'history', 'records'], + styles: ['solid'], + label: 'Medical Notes', + }, + { + name: 'npm', + search: [], + styles: ['brands'], + label: 'npm', + }, + { + name: 'ns8', + search: [], + styles: ['brands'], + label: 'NS8', + }, + { + name: 'nutritionix', + search: [], + styles: ['brands'], + label: 'Nutritionix', + }, + { + name: 'object-group', + search: ['combine', 'copy', 'design', 'merge', 'select'], + styles: ['solid', 'regular'], + label: 'Object Group', + }, + { + name: 'object-ungroup', + search: ['copy', 'design', 'merge', 'select', 'separate'], + styles: ['solid', 'regular'], + label: 'Object Ungroup', + }, + { + name: 'odnoklassniki', + search: [], + styles: ['brands'], + label: 'Odnoklassniki', + }, + { + name: 'odnoklassniki-square', + search: [], + styles: ['brands'], + label: 'Odnoklassniki Square', + }, + { + name: 'oil-can', + search: ['auto', 'crude', 'gasoline', 'grease', 'lubricate', 'petroleum'], + styles: ['solid'], + label: 'Oil Can', + }, + { + name: 'old-republic', + search: ['politics', 'star wars'], + styles: ['brands'], + label: 'Old Republic', + }, + { + name: 'om', + search: ['buddhism', 'hinduism', 'jainism', 'mantra'], + styles: ['solid'], + label: 'Om', + }, + { + name: 'opencart', + search: [], + styles: ['brands'], + label: 'OpenCart', + }, + { + name: 'openid', + search: [], + styles: ['brands'], + label: 'OpenID', + }, + { + name: 'opera', + search: [], + styles: ['brands'], + label: 'Opera', + }, + { + name: 'optin-monster', + search: [], + styles: ['brands'], + label: 'Optin Monster', + }, + { + name: 'orcid', + search: [], + styles: ['brands'], + label: 'ORCID', + }, + { + name: 'osi', + search: [], + styles: ['brands'], + label: 'Open Source Initiative', + }, + { + name: 'otter', + search: ['animal', 'badger', 'fauna', 'fur', 'mammal', 'marten'], + styles: ['solid'], + label: 'Otter', + }, + { + name: 'outdent', + search: ['align', 'justify', 'paragraph', 'tab'], + styles: ['solid'], + label: 'Outdent', + }, + { + name: 'page4', + search: [], + styles: ['brands'], + label: 'page4 Corporation', + }, + { + name: 'pagelines', + search: ['eco', 'flora', 'leaf', 'leaves', 'nature', 'plant', 'tree'], + styles: ['brands'], + label: 'Pagelines', + }, + { + name: 'pager', + search: ['beeper', 'cellphone', 'communication'], + styles: ['solid'], + label: 'Pager', + }, + { + name: 'paint-brush', + search: [ + 'acrylic', + 'art', + 'brush', + 'color', + 'fill', + 'paint', + 'pigment', + 'watercolor', + ], + styles: ['solid'], + label: 'Paint Brush', + }, + { + name: 'paint-roller', + search: [ + 'acrylic', + 'art', + 'brush', + 'color', + 'fill', + 'paint', + 'pigment', + 'watercolor', + ], + styles: ['solid'], + label: 'Paint Roller', + }, + { + name: 'palette', + search: [ + 'acrylic', + 'art', + 'brush', + 'color', + 'fill', + 'paint', + 'pigment', + 'watercolor', + ], + styles: ['solid'], + label: 'Palette', + }, + { + name: 'palfed', + search: [], + styles: ['brands'], + label: 'Palfed', + }, + { + name: 'pallet', + search: ['archive', 'box', 'inventory', 'shipping', 'warehouse'], + styles: ['solid'], + label: 'Pallet', + }, + { + name: 'paper-plane', + search: ['air', 'float', 'fold', 'mail', 'paper', 'send'], + styles: ['solid', 'regular'], + label: 'Paper Plane', + }, + { + name: 'paperclip', + search: ['attach', 'attachment', 'connect', 'link'], + styles: ['solid'], + label: 'Paperclip', + }, + { + name: 'parachute-box', + search: ['aid', 'assistance', 'rescue', 'supplies'], + styles: ['solid'], + label: 'Parachute Box', + }, + { + name: 'paragraph', + search: ['edit', 'format', 'text', 'writing'], + styles: ['solid'], + label: 'paragraph', + }, + { + name: 'parking', + search: ['auto', 'car', 'garage', 'meter'], + styles: ['solid'], + label: 'Parking', + }, + { + name: 'passport', + search: ['document', 'id', 'identification', 'issued', 'travel'], + styles: ['solid'], + label: 'Passport', + }, + { + name: 'pastafarianism', + search: ['agnosticism', 'atheism', 'flying spaghetti monster', 'fsm'], + styles: ['solid'], + label: 'Pastafarianism', + }, + { + name: 'paste', + search: ['clipboard', 'copy', 'document', 'paper'], + styles: ['solid'], + label: 'Paste', + }, + { + name: 'patreon', + search: [], + styles: ['brands'], + label: 'Patreon', + }, + { + name: 'pause', + search: ['hold', 'wait'], + styles: ['solid'], + label: 'pause', + }, + { + name: 'pause-circle', + search: ['hold', 'wait'], + styles: ['solid', 'regular'], + label: 'Pause Circle', + }, + { + name: 'paw', + search: ['animal', 'cat', 'dog', 'pet', 'print'], + styles: ['solid'], + label: 'Paw', + }, + { + name: 'paypal', + search: [], + styles: ['brands'], + label: 'Paypal', + }, + { + name: 'peace', + search: ['serenity', 'tranquility', 'truce', 'war'], + styles: ['solid'], + label: 'Peace', + }, + { + name: 'pen', + search: ['design', 'edit', 'update', 'write'], + styles: ['solid'], + label: 'Pen', + }, + { + name: 'pen-alt', + search: ['design', 'edit', 'update', 'write'], + styles: ['solid'], + label: 'Alternate Pen', + }, + { + name: 'pen-fancy', + search: ['design', 'edit', 'fountain pen', 'update', 'write'], + styles: ['solid'], + label: 'Pen Fancy', + }, + { + name: 'pen-nib', + search: ['design', 'edit', 'fountain pen', 'update', 'write'], + styles: ['solid'], + label: 'Pen Nib', + }, + { + name: 'pen-square', + search: ['edit', 'pencil-square', 'update', 'write'], + styles: ['solid'], + label: 'Pen Square', + }, + { + name: 'pencil-alt', + search: ['design', 'edit', 'pencil', 'update', 'write'], + styles: ['solid'], + label: 'Alternate Pencil', + }, + { + name: 'pencil-ruler', + search: ['design', 'draft', 'draw', 'pencil'], + styles: ['solid'], + label: 'Pencil Ruler', + }, + { + name: 'penny-arcade', + search: [ + 'Dungeons & Dragons', + 'd&d', + 'dnd', + 'fantasy', + 'game', + 'gaming', + 'pax', + 'tabletop', + ], + styles: ['brands'], + label: 'Penny Arcade', + }, + { + name: 'people-arrows', + search: [ + 'covid-19', + 'personal space', + 'social distance', + 'space', + 'spread', + 'users', + ], + styles: ['solid'], + label: 'People Arrows', + }, + { + name: 'people-carry', + search: ['box', 'carry', 'fragile', 'help', 'movers', 'package'], + styles: ['solid'], + label: 'People Carry', + }, + { + name: 'pepper-hot', + search: [ + 'buffalo wings', + 'capsicum', + 'chili', + 'chilli', + 'habanero', + 'jalapeno', + 'mexican', + 'spicy', + 'tabasco', + 'vegetable', + ], + styles: ['solid'], + label: 'Hot Pepper', + }, + { + name: 'percent', + search: ['discount', 'fraction', 'proportion', 'rate', 'ratio'], + styles: ['solid'], + label: 'Percent', + }, + { + name: 'percentage', + search: ['discount', 'fraction', 'proportion', 'rate', 'ratio'], + styles: ['solid'], + label: 'Percentage', + }, + { + name: 'periscope', + search: [], + styles: ['brands'], + label: 'Periscope', + }, + { + name: 'person-booth', + search: [ + 'changing', + 'changing room', + 'election', + 'human', + 'person', + 'vote', + 'voting', + ], + styles: ['solid'], + label: 'Person Entering Booth', + }, + { + name: 'phabricator', + search: [], + styles: ['brands'], + label: 'Phabricator', + }, + { + name: 'phoenix-framework', + search: [], + styles: ['brands'], + label: 'Phoenix Framework', + }, + { + name: 'phoenix-squadron', + search: [], + styles: ['brands'], + label: 'Phoenix Squadron', + }, + { + name: 'phone', + search: ['call', 'earphone', 'number', 'support', 'telephone', 'voice'], + styles: ['solid'], + label: 'Phone', + }, + { + name: 'phone-alt', + search: ['call', 'earphone', 'number', 'support', 'telephone', 'voice'], + styles: ['solid'], + label: 'Alternate Phone', + }, + { + name: 'phone-slash', + search: [ + 'call', + 'cancel', + 'earphone', + 'mute', + 'number', + 'support', + 'telephone', + 'voice', + ], + styles: ['solid'], + label: 'Phone Slash', + }, + { + name: 'phone-square', + search: ['call', 'earphone', 'number', 'support', 'telephone', 'voice'], + styles: ['solid'], + label: 'Phone Square', + }, + { + name: 'phone-square-alt', + search: ['call', 'earphone', 'number', 'support', 'telephone', 'voice'], + styles: ['solid'], + label: 'Alternate Phone Square', + }, + { + name: 'phone-volume', + search: [ + 'call', + 'earphone', + 'number', + 'sound', + 'support', + 'telephone', + 'voice', + 'volume-control-phone', + ], + styles: ['solid'], + label: 'Phone Volume', + }, + { + name: 'photo-video', + search: ['av', 'film', 'image', 'library', 'media'], + styles: ['solid'], + label: 'Photo Video', + }, + { + name: 'php', + search: [], + styles: ['brands'], + label: 'PHP', + }, + { + name: 'pied-piper', + search: [], + styles: ['brands'], + label: 'Pied Piper Logo', + }, + { + name: 'pied-piper-alt', + search: [], + styles: ['brands'], + label: 'Alternate Pied Piper Logo (Old)', + }, + { + name: 'pied-piper-hat', + search: ['clothing'], + styles: ['brands'], + label: 'Pied Piper Hat (Old)', + }, + { + name: 'pied-piper-pp', + search: [], + styles: ['brands'], + label: 'Pied Piper PP Logo (Old)', + }, + { + name: 'pied-piper-square', + search: [], + styles: ['brands'], + label: 'Pied Piper Square Logo (Old)', + }, + { + name: 'piggy-bank', + search: ['bank', 'save', 'savings'], + styles: ['solid'], + label: 'Piggy Bank', + }, + { + name: 'pills', + search: ['drugs', 'medicine', 'prescription', 'tablets'], + styles: ['solid'], + label: 'Pills', + }, + { + name: 'pinterest', + search: [], + styles: ['brands'], + label: 'Pinterest', + }, + { + name: 'pinterest-p', + search: [], + styles: ['brands'], + label: 'Pinterest P', + }, + { + name: 'pinterest-square', + search: [], + styles: ['brands'], + label: 'Pinterest Square', + }, + { + name: 'pizza-slice', + search: [ + 'cheese', + 'chicago', + 'italian', + 'mozzarella', + 'new york', + 'pepperoni', + 'pie', + 'slice', + 'teenage mutant ninja turtles', + 'tomato', + ], + styles: ['solid'], + label: 'Pizza Slice', + }, + { + name: 'place-of-worship', + search: ['building', 'church', 'holy', 'mosque', 'synagogue'], + styles: ['solid'], + label: 'Place of Worship', + }, + { + name: 'plane', + search: [ + 'airplane', + 'destination', + 'fly', + 'location', + 'mode', + 'travel', + 'trip', + ], + styles: ['solid'], + label: 'plane', + }, + { + name: 'plane-arrival', + search: [ + 'airplane', + 'arriving', + 'destination', + 'fly', + 'land', + 'landing', + 'location', + 'mode', + 'travel', + 'trip', + ], + styles: ['solid'], + label: 'Plane Arrival', + }, + { + name: 'plane-departure', + search: [ + 'airplane', + 'departing', + 'destination', + 'fly', + 'location', + 'mode', + 'take off', + 'taking off', + 'travel', + 'trip', + ], + styles: ['solid'], + label: 'Plane Departure', + }, + { + name: 'plane-slash', + search: [ + 'airplane mode', + 'canceled', + 'covid-19', + 'delayed', + 'grounded', + 'travel', + ], + styles: ['solid'], + label: 'Plane Slash', + }, + { + name: 'play', + search: ['audio', 'music', 'playing', 'sound', 'start', 'video'], + styles: ['solid'], + label: 'play', + }, + { + name: 'play-circle', + search: ['audio', 'music', 'playing', 'sound', 'start', 'video'], + styles: ['solid', 'regular'], + label: 'Play Circle', + }, + { + name: 'playstation', + search: [], + styles: ['brands'], + label: 'PlayStation', + }, + { + name: 'plug', + search: ['connect', 'electric', 'online', 'power'], + styles: ['solid'], + label: 'Plug', + }, + { + name: 'plus', + search: ['add', 'create', 'expand', 'new', 'positive', 'shape'], + styles: ['solid'], + label: 'plus', + }, + { + name: 'plus-circle', + search: ['add', 'create', 'expand', 'new', 'positive', 'shape'], + styles: ['solid'], + label: 'Plus Circle', + }, + { + name: 'plus-square', + search: ['add', 'create', 'expand', 'new', 'positive', 'shape'], + styles: ['solid', 'regular'], + label: 'Plus Square', + }, + { + name: 'podcast', + search: ['audio', 'broadcast', 'music', 'sound'], + styles: ['solid'], + label: 'Podcast', + }, + { + name: 'poll', + search: ['results', 'survey', 'trend', 'vote', 'voting'], + styles: ['solid'], + label: 'Poll', + }, + { + name: 'poll-h', + search: ['results', 'survey', 'trend', 'vote', 'voting'], + styles: ['solid'], + label: 'Poll H', + }, + { + name: 'poo', + search: ['crap', 'poop', 'shit', 'smile', 'turd'], + styles: ['solid'], + label: 'Poo', + }, + { + name: 'poo-storm', + search: [ + 'bolt', + 'cloud', + 'euphemism', + 'lightning', + 'mess', + 'poop', + 'shit', + 'turd', + ], + styles: ['solid'], + label: 'Poo Storm', + }, + { + name: 'poop', + search: ['crap', 'poop', 'shit', 'smile', 'turd'], + styles: ['solid'], + label: 'Poop', + }, + { + name: 'portrait', + search: ['id', 'image', 'photo', 'picture', 'selfie'], + styles: ['solid'], + label: 'Portrait', + }, + { + name: 'pound-sign', + search: ['currency', 'gbp', 'money'], + styles: ['solid'], + label: 'Pound Sign', + }, + { + name: 'power-off', + search: ['cancel', 'computer', 'on', 'reboot', 'restart'], + styles: ['solid'], + label: 'Power Off', + }, + { + name: 'pray', + search: ['kneel', 'preach', 'religion', 'worship'], + styles: ['solid'], + label: 'Pray', + }, + { + name: 'praying-hands', + search: ['kneel', 'preach', 'religion', 'worship'], + styles: ['solid'], + label: 'Praying Hands', + }, + { + name: 'prescription', + search: ['drugs', 'medical', 'medicine', 'pharmacy', 'rx'], + styles: ['solid'], + label: 'Prescription', + }, + { + name: 'prescription-bottle', + search: ['drugs', 'medical', 'medicine', 'pharmacy', 'rx'], + styles: ['solid'], + label: 'Prescription Bottle', + }, + { + name: 'prescription-bottle-alt', + search: ['drugs', 'medical', 'medicine', 'pharmacy', 'rx'], + styles: ['solid'], + label: 'Alternate Prescription Bottle', + }, + { + name: 'print', + search: ['business', 'copy', 'document', 'office', 'paper'], + styles: ['solid'], + label: 'print', + }, + { + name: 'procedures', + search: [ + 'EKG', + 'bed', + 'electrocardiogram', + 'health', + 'hospital', + 'life', + 'patient', + 'vital', + ], + styles: ['solid'], + label: 'Procedures', + }, + { + name: 'product-hunt', + search: [], + styles: ['brands'], + label: 'Product Hunt', + }, + { + name: 'project-diagram', + search: ['chart', 'graph', 'network', 'pert'], + styles: ['solid'], + label: 'Project Diagram', + }, + { + name: 'pump-medical', + search: [ + 'anti-bacterial', + 'clean', + 'covid-19', + 'disinfect', + 'hygiene', + 'medical grade', + 'sanitizer', + 'soap', + ], + styles: ['solid'], + label: 'Pump Medical', + }, + { + name: 'pump-soap', + search: [ + 'anti-bacterial', + 'clean', + 'covid-19', + 'disinfect', + 'hygiene', + 'sanitizer', + 'soap', + ], + styles: ['solid'], + label: 'Pump Soap', + }, + { + name: 'pushed', + search: [], + styles: ['brands'], + label: 'Pushed', + }, + { + name: 'puzzle-piece', + search: ['add-on', 'addon', 'game', 'section'], + styles: ['solid'], + label: 'Puzzle Piece', + }, + { + name: 'python', + search: [], + styles: ['brands'], + label: 'Python', + }, + { + name: 'qq', + search: [], + styles: ['brands'], + label: 'QQ', + }, + { + name: 'qrcode', + search: ['barcode', 'info', 'information', 'scan'], + styles: ['solid'], + label: 'qrcode', + }, + { + name: 'question', + search: ['help', 'information', 'support', 'unknown'], + styles: ['solid'], + label: 'Question', + }, + { + name: 'question-circle', + search: ['help', 'information', 'support', 'unknown'], + styles: ['solid', 'regular'], + label: 'Question Circle', + }, + { + name: 'quidditch', + search: [ + 'ball', + 'bludger', + 'broom', + 'golden snitch', + 'harry potter', + 'hogwarts', + 'quaffle', + 'sport', + 'wizard', + ], + styles: ['solid'], + label: 'Quidditch', + }, + { + name: 'quinscape', + search: [], + styles: ['brands'], + label: 'QuinScape', + }, + { + name: 'quora', + search: [], + styles: ['brands'], + label: 'Quora', + }, + { + name: 'quote-left', + search: ['mention', 'note', 'phrase', 'text', 'type'], + styles: ['solid'], + label: 'quote-left', + }, + { + name: 'quote-right', + search: ['mention', 'note', 'phrase', 'text', 'type'], + styles: ['solid'], + label: 'quote-right', + }, + { + name: 'quran', + search: ['book', 'islam', 'muslim', 'religion'], + styles: ['solid'], + label: 'Quran', + }, + { + name: 'r-project', + search: [], + styles: ['brands'], + label: 'R Project', + }, + { + name: 'radiation', + search: [ + 'danger', + 'dangerous', + 'deadly', + 'hazard', + 'nuclear', + 'radioactive', + 'warning', + ], + styles: ['solid'], + label: 'Radiation', + }, + { + name: 'radiation-alt', + search: [ + 'danger', + 'dangerous', + 'deadly', + 'hazard', + 'nuclear', + 'radioactive', + 'warning', + ], + styles: ['solid'], + label: 'Alternate Radiation', + }, + { + name: 'rainbow', + search: ['gold', 'leprechaun', 'prism', 'rain', 'sky'], + styles: ['solid'], + label: 'Rainbow', + }, + { + name: 'random', + search: ['arrows', 'shuffle', 'sort', 'swap', 'switch', 'transfer'], + styles: ['solid'], + label: 'random', + }, + { + name: 'raspberry-pi', + search: [], + styles: ['brands'], + label: 'Raspberry Pi', + }, + { + name: 'ravelry', + search: [], + styles: ['brands'], + label: 'Ravelry', + }, + { + name: 'react', + search: [], + styles: ['brands'], + label: 'React', + }, + { + name: 'reacteurope', + search: [], + styles: ['brands'], + label: 'ReactEurope', + }, + { + name: 'readme', + search: [], + styles: ['brands'], + label: 'ReadMe', + }, + { + name: 'rebel', + search: [], + styles: ['brands'], + label: 'Rebel Alliance', + }, + { + name: 'receipt', + search: ['check', 'invoice', 'money', 'pay', 'table'], + styles: ['solid'], + label: 'Receipt', + }, + { + name: 'record-vinyl', + search: ['LP', 'album', 'analog', 'music', 'phonograph', 'sound'], + styles: ['solid'], + label: 'Record Vinyl', + }, + { + name: 'recycle', + search: ['Waste', 'compost', 'garbage', 'reuse', 'trash'], + styles: ['solid'], + label: 'Recycle', + }, + { + name: 'red-river', + search: [], + styles: ['brands'], + label: 'red river', + }, + { + name: 'reddit', + search: [], + styles: ['brands'], + label: 'reddit Logo', + }, + { + name: 'reddit-alien', + search: [], + styles: ['brands'], + label: 'reddit Alien', + }, + { + name: 'reddit-square', + search: [], + styles: ['brands'], + label: 'reddit Square', + }, + { + name: 'redhat', + search: ['linux', 'operating system', 'os'], + styles: ['brands'], + label: 'Redhat', + }, + { + name: 'redo', + search: ['forward', 'refresh', 'reload', 'repeat'], + styles: ['solid'], + label: 'Redo', + }, + { + name: 'redo-alt', + search: ['forward', 'refresh', 'reload', 'repeat'], + styles: ['solid'], + label: 'Alternate Redo', + }, + { + name: 'registered', + search: ['copyright', 'mark', 'trademark'], + styles: ['solid', 'regular'], + label: 'Registered Trademark', + }, + { + name: 'remove-format', + search: ['cancel', 'font', 'format', 'remove', 'style', 'text'], + styles: ['solid'], + label: 'Remove Format', + }, + { + name: 'renren', + search: [], + styles: ['brands'], + label: 'Renren', + }, + { + name: 'reply', + search: ['mail', 'message', 'respond'], + styles: ['solid'], + label: 'Reply', + }, + { + name: 'reply-all', + search: ['mail', 'message', 'respond'], + styles: ['solid'], + label: 'reply-all', + }, + { + name: 'replyd', + search: [], + styles: ['brands'], + label: 'replyd', + }, + { + name: 'republican', + search: [ + 'american', + 'conservative', + 'election', + 'elephant', + 'politics', + 'republican party', + 'right', + 'right-wing', + 'usa', + ], + styles: ['solid'], + label: 'Republican', + }, + { + name: 'researchgate', + search: [], + styles: ['brands'], + label: 'Researchgate', + }, + { + name: 'resolving', + search: [], + styles: ['brands'], + label: 'Resolving', + }, + { + name: 'restroom', + search: ['bathroom', 'john', 'loo', 'potty', 'washroom', 'waste', 'wc'], + styles: ['solid'], + label: 'Restroom', + }, + { + name: 'retweet', + search: ['refresh', 'reload', 'share', 'swap'], + styles: ['solid'], + label: 'Retweet', + }, + { + name: 'rev', + search: [], + styles: ['brands'], + label: 'Rev.io', + }, + { + name: 'ribbon', + search: ['badge', 'cause', 'lapel', 'pin'], + styles: ['solid'], + label: 'Ribbon', + }, + { + name: 'ring', + search: [ + 'Dungeons & Dragons', + 'Gollum', + 'band', + 'binding', + 'd&d', + 'dnd', + 'engagement', + 'fantasy', + 'gold', + 'jewelry', + 'marriage', + 'precious', + ], + styles: ['solid'], + label: 'Ring', + }, + { + name: 'road', + search: ['highway', 'map', 'pavement', 'route', 'street', 'travel'], + styles: ['solid'], + label: 'road', + }, + { + name: 'robot', + search: ['android', 'automate', 'computer', 'cyborg'], + styles: ['solid'], + label: 'Robot', + }, + { + name: 'rocket', + search: ['aircraft', 'app', 'jet', 'launch', 'nasa', 'space'], + styles: ['solid'], + label: 'rocket', + }, + { + name: 'rocketchat', + search: [], + styles: ['brands'], + label: 'Rocket.Chat', + }, + { + name: 'rockrms', + search: [], + styles: ['brands'], + label: 'Rockrms', + }, + { + name: 'route', + search: ['directions', 'navigation', 'travel'], + styles: ['solid'], + label: 'Route', + }, + { + name: 'rss', + search: ['blog', 'feed', 'journal', 'news', 'writing'], + styles: ['solid'], + label: 'rss', + }, + { + name: 'rss-square', + search: ['blog', 'feed', 'journal', 'news', 'writing'], + styles: ['solid'], + label: 'RSS Square', + }, + { + name: 'ruble-sign', + search: ['currency', 'money', 'rub'], + styles: ['solid'], + label: 'Ruble Sign', + }, + { + name: 'ruler', + search: ['design', 'draft', 'length', 'measure', 'planning'], + styles: ['solid'], + label: 'Ruler', + }, + { + name: 'ruler-combined', + search: ['design', 'draft', 'length', 'measure', 'planning'], + styles: ['solid'], + label: 'Ruler Combined', + }, + { + name: 'ruler-horizontal', + search: ['design', 'draft', 'length', 'measure', 'planning'], + styles: ['solid'], + label: 'Ruler Horizontal', + }, + { + name: 'ruler-vertical', + search: ['design', 'draft', 'length', 'measure', 'planning'], + styles: ['solid'], + label: 'Ruler Vertical', + }, + { + name: 'running', + search: ['exercise', 'health', 'jog', 'person', 'run', 'sport', 'sprint'], + styles: ['solid'], + label: 'Running', + }, + { + name: 'rupee-sign', + search: ['currency', 'indian', 'inr', 'money'], + styles: ['solid'], + label: 'Indian Rupee Sign', + }, + { + name: 'sad-cry', + search: ['emoticon', 'face', 'tear', 'tears'], + styles: ['solid', 'regular'], + label: 'Crying Face', + }, + { + name: 'sad-tear', + search: ['emoticon', 'face', 'tear', 'tears'], + styles: ['solid', 'regular'], + label: 'Loudly Crying Face', + }, + { + name: 'safari', + search: ['browser'], + styles: ['brands'], + label: 'Safari', + }, + { + name: 'salesforce', + search: [], + styles: ['brands'], + label: 'Salesforce', + }, + { + name: 'sass', + search: [], + styles: ['brands'], + label: 'Sass', + }, + { + name: 'satellite', + search: ['communications', 'hardware', 'orbit', 'space'], + styles: ['solid'], + label: 'Satellite', + }, + { + name: 'satellite-dish', + search: [ + 'SETI', + 'communications', + 'hardware', + 'receiver', + 'saucer', + 'signal', + 'space', + ], + styles: ['solid'], + label: 'Satellite Dish', + }, + { + name: 'save', + search: ['disk', 'download', 'floppy', 'floppy-o'], + styles: ['solid', 'regular'], + label: 'Save', + }, + { + name: 'schlix', + search: [], + styles: ['brands'], + label: 'SCHLIX', + }, + { + name: 'school', + search: ['building', 'education', 'learn', 'student', 'teacher'], + styles: ['solid'], + label: 'School', + }, + { + name: 'screwdriver', + search: ['admin', 'fix', 'mechanic', 'repair', 'settings', 'tool'], + styles: ['solid'], + label: 'Screwdriver', + }, + { + name: 'scribd', + search: [], + styles: ['brands'], + label: 'Scribd', + }, + { + name: 'scroll', + search: [ + 'Dungeons & Dragons', + 'announcement', + 'd&d', + 'dnd', + 'fantasy', + 'paper', + 'script', + ], + styles: ['solid'], + label: 'Scroll', + }, + { + name: 'sd-card', + search: ['image', 'memory', 'photo', 'save'], + styles: ['solid'], + label: 'Sd Card', + }, + { + name: 'search', + search: ['bigger', 'enlarge', 'find', 'magnify', 'preview', 'zoom'], + styles: ['solid'], + label: 'Search', + }, + { + name: 'search-dollar', + search: [ + 'bigger', + 'enlarge', + 'find', + 'magnify', + 'money', + 'preview', + 'zoom', + ], + styles: ['solid'], + label: 'Search Dollar', + }, + { + name: 'search-location', + search: ['bigger', 'enlarge', 'find', 'magnify', 'preview', 'zoom'], + styles: ['solid'], + label: 'Search Location', + }, + { + name: 'search-minus', + search: ['minify', 'negative', 'smaller', 'zoom', 'zoom out'], + styles: ['solid'], + label: 'Search Minus', + }, + { + name: 'search-plus', + search: ['bigger', 'enlarge', 'magnify', 'positive', 'zoom', 'zoom in'], + styles: ['solid'], + label: 'Search Plus', + }, + { + name: 'searchengin', + search: [], + styles: ['brands'], + label: 'Searchengin', + }, + { + name: 'seedling', + search: ['flora', 'grow', 'plant', 'vegan'], + styles: ['solid'], + label: 'Seedling', + }, + { + name: 'sellcast', + search: ['eercast'], + styles: ['brands'], + label: 'Sellcast', + }, + { + name: 'sellsy', + search: [], + styles: ['brands'], + label: 'Sellsy', + }, + { + name: 'server', + search: ['computer', 'cpu', 'database', 'hardware', 'network'], + styles: ['solid'], + label: 'Server', + }, + { + name: 'servicestack', + search: [], + styles: ['brands'], + label: 'Servicestack', + }, + { + name: 'shapes', + search: ['blocks', 'build', 'circle', 'square', 'triangle'], + styles: ['solid'], + label: 'Shapes', + }, + { + name: 'share', + search: ['forward', 'save', 'send', 'social'], + styles: ['solid'], + label: 'Share', + }, + { + name: 'share-alt', + search: ['forward', 'save', 'send', 'social'], + styles: ['solid'], + label: 'Alternate Share', + }, + { + name: 'share-alt-square', + search: ['forward', 'save', 'send', 'social'], + styles: ['solid'], + label: 'Alternate Share Square', + }, + { + name: 'share-square', + search: ['forward', 'save', 'send', 'social'], + styles: ['solid', 'regular'], + label: 'Share Square', + }, + { + name: 'shekel-sign', + search: ['currency', 'ils', 'money'], + styles: ['solid'], + label: 'Shekel Sign', + }, + { + name: 'shield-alt', + search: ['achievement', 'award', 'block', 'defend', 'security', 'winner'], + styles: ['solid'], + label: 'Alternate Shield', + }, + { + name: 'shield-virus', + search: ['antibodies', 'barrier', 'covid-19', 'health', 'protect'], + styles: ['solid'], + label: 'Shield Virus', + }, + { + name: 'ship', + search: ['boat', 'sea', 'water'], + styles: ['solid'], + label: 'Ship', + }, + { + name: 'shipping-fast', + search: ['express', 'fedex', 'mail', 'overnight', 'package', 'ups'], + styles: ['solid'], + label: 'Shipping Fast', + }, + { + name: 'shirtsinbulk', + search: [], + styles: ['brands'], + label: 'Shirts in Bulk', + }, + { + name: 'shoe-prints', + search: ['feet', 'footprints', 'steps', 'walk'], + styles: ['solid'], + label: 'Shoe Prints', + }, + { + name: 'shopify', + search: [], + styles: ['brands'], + label: 'Shopify', + }, + { + name: 'shopping-bag', + search: ['buy', 'checkout', 'grocery', 'payment', 'purchase'], + styles: ['solid'], + label: 'Shopping Bag', + }, + { + name: 'shopping-basket', + search: ['buy', 'checkout', 'grocery', 'payment', 'purchase'], + styles: ['solid'], + label: 'Shopping Basket', + }, + { + name: 'shopping-cart', + search: ['buy', 'checkout', 'grocery', 'payment', 'purchase'], + styles: ['solid'], + label: 'shopping-cart', + }, + { + name: 'shopware', + search: [], + styles: ['brands'], + label: 'Shopware', + }, + { + name: 'shower', + search: ['bath', 'clean', 'faucet', 'water'], + styles: ['solid'], + label: 'Shower', + }, + { + name: 'shuttle-van', + search: [ + 'airport', + 'machine', + 'public-transportation', + 'transportation', + 'travel', + 'vehicle', + ], + styles: ['solid'], + label: 'Shuttle Van', + }, + { + name: 'sign', + search: ['directions', 'real estate', 'signage', 'wayfinding'], + styles: ['solid'], + label: 'Sign', + }, + { + name: 'sign-in-alt', + search: [ + 'arrow', + 'enter', + 'join', + 'log in', + 'login', + 'sign in', + 'sign up', + 'sign-in', + 'signin', + 'signup', + ], + styles: ['solid'], + label: 'Alternate Sign In', + }, + { + name: 'sign-language', + search: ['Translate', 'asl', 'deaf', 'hands'], + styles: ['solid'], + label: 'Sign Language', + }, + { + name: 'sign-out-alt', + search: ['arrow', 'exit', 'leave', 'log out', 'logout', 'sign-out'], + styles: ['solid'], + label: 'Alternate Sign Out', + }, + { + name: 'signal', + search: ['bars', 'graph', 'online', 'reception', 'status'], + styles: ['solid'], + label: 'signal', + }, + { + name: 'signature', + search: ['John Hancock', 'cursive', 'name', 'writing'], + styles: ['solid'], + label: 'Signature', + }, + { + name: 'sim-card', + search: [ + 'hard drive', + 'hardware', + 'portable', + 'storage', + 'technology', + 'tiny', + ], + styles: ['solid'], + label: 'SIM Card', + }, + { + name: 'simplybuilt', + search: [], + styles: ['brands'], + label: 'SimplyBuilt', + }, + { + name: 'sistrix', + search: [], + styles: ['brands'], + label: 'SISTRIX', + }, + { + name: 'sitemap', + search: [ + 'directory', + 'hierarchy', + 'ia', + 'information architecture', + 'organization', + ], + styles: ['solid'], + label: 'Sitemap', + }, + { + name: 'sith', + search: [], + styles: ['brands'], + label: 'Sith', + }, + { + name: 'skating', + search: [ + 'activity', + 'figure skating', + 'fitness', + 'ice', + 'person', + 'winter', + ], + styles: ['solid'], + label: 'Skating', + }, + { + name: 'sketch', + search: ['app', 'design', 'interface'], + styles: ['brands'], + label: 'Sketch', + }, + { + name: 'skiing', + search: [ + 'activity', + 'downhill', + 'fast', + 'fitness', + 'olympics', + 'outdoors', + 'person', + 'seasonal', + 'slalom', + ], + styles: ['solid'], + label: 'Skiing', + }, + { + name: 'skiing-nordic', + search: [ + 'activity', + 'cross country', + 'fitness', + 'outdoors', + 'person', + 'seasonal', + ], + styles: ['solid'], + label: 'Skiing Nordic', + }, + { + name: 'skull', + search: ['bones', 'skeleton', 'x-ray', 'yorick'], + styles: ['solid'], + label: 'Skull', + }, + { + name: 'skull-crossbones', + search: [ + 'Dungeons & Dragons', + 'alert', + 'bones', + 'd&d', + 'danger', + 'dead', + 'deadly', + 'death', + 'dnd', + 'fantasy', + 'halloween', + 'holiday', + 'jolly-roger', + 'pirate', + 'poison', + 'skeleton', + 'warning', + ], + styles: ['solid'], + label: 'Skull & Crossbones', + }, + { + name: 'skyatlas', + search: [], + styles: ['brands'], + label: 'skyatlas', + }, + { + name: 'skype', + search: [], + styles: ['brands'], + label: 'Skype', + }, + { + name: 'slack', + search: ['anchor', 'hash', 'hashtag'], + styles: ['brands'], + label: 'Slack Logo', + }, + { + name: 'slack-hash', + search: ['anchor', 'hash', 'hashtag'], + styles: ['brands'], + label: 'Slack Hashtag', + }, + { + name: 'slash', + search: ['cancel', 'close', 'mute', 'off', 'stop', 'x'], + styles: ['solid'], + label: 'Slash', + }, + { + name: 'sleigh', + search: [ + 'christmas', + 'claus', + 'fly', + 'holiday', + 'santa', + 'sled', + 'snow', + 'xmas', + ], + styles: ['solid'], + label: 'Sleigh', + }, + { + name: 'sliders-h', + search: ['adjust', 'settings', 'sliders', 'toggle'], + styles: ['solid'], + label: 'Horizontal Sliders', + }, + { + name: 'slideshare', + search: [], + styles: ['brands'], + label: 'Slideshare', + }, + { + name: 'smile', + search: ['approve', 'emoticon', 'face', 'happy', 'rating', 'satisfied'], + styles: ['solid', 'regular'], + label: 'Smiling Face', + }, + { + name: 'smile-beam', + search: ['emoticon', 'face', 'happy', 'positive'], + styles: ['solid', 'regular'], + label: 'Beaming Face With Smiling Eyes', + }, + { + name: 'smile-wink', + search: ['emoticon', 'face', 'happy', 'hint', 'joke'], + styles: ['solid', 'regular'], + label: 'Winking Face', + }, + { + name: 'smog', + search: ['dragon', 'fog', 'haze', 'pollution', 'smoke', 'weather'], + styles: ['solid'], + label: 'Smog', + }, + { + name: 'smoking', + search: ['cancer', 'cigarette', 'nicotine', 'smoking status', 'tobacco'], + styles: ['solid'], + label: 'Smoking', + }, + { + name: 'smoking-ban', + search: ['ban', 'cancel', 'no smoking', 'non-smoking'], + styles: ['solid'], + label: 'Smoking Ban', + }, + { + name: 'sms', + search: [ + 'chat', + 'conversation', + 'message', + 'mobile', + 'notification', + 'phone', + 'sms', + 'texting', + ], + styles: ['solid'], + label: 'SMS', + }, + { + name: 'snapchat', + search: [], + styles: ['brands'], + label: 'Snapchat', + }, + { + name: 'snapchat-ghost', + search: [], + styles: ['brands'], + label: 'Snapchat Ghost', + }, + { + name: 'snapchat-square', + search: [], + styles: ['brands'], + label: 'Snapchat Square', + }, + { + name: 'snowboarding', + search: ['activity', 'fitness', 'olympics', 'outdoors', 'person'], + styles: ['solid'], + label: 'Snowboarding', + }, + { + name: 'snowflake', + search: ['precipitation', 'rain', 'winter'], + styles: ['solid', 'regular'], + label: 'Snowflake', + }, + { + name: 'snowman', + search: ['decoration', 'frost', 'frosty', 'holiday'], + styles: ['solid'], + label: 'Snowman', + }, + { + name: 'snowplow', + search: ['clean up', 'cold', 'road', 'storm', 'winter'], + styles: ['solid'], + label: 'Snowplow', + }, + { + name: 'soap', + search: ['bubbles', 'clean', 'covid-19', 'hygiene', 'wash'], + styles: ['solid'], + label: 'Soap', + }, + { + name: 'socks', + search: [ + 'business socks', + 'business time', + 'clothing', + 'feet', + 'flight of the conchords', + 'wednesday', + ], + styles: ['solid'], + label: 'Socks', + }, + { + name: 'solar-panel', + search: ['clean', 'eco-friendly', 'energy', 'green', 'sun'], + styles: ['solid'], + label: 'Solar Panel', + }, + { + name: 'sort', + search: ['filter', 'order'], + styles: ['solid'], + label: 'Sort', + }, + { + name: 'sort-alpha-down', + search: ['alphabetical', 'arrange', 'filter', 'order', 'sort-alpha-asc'], + styles: ['solid'], + label: 'Sort Alphabetical Down', + }, + { + name: 'sort-alpha-down-alt', + search: ['alphabetical', 'arrange', 'filter', 'order', 'sort-alpha-asc'], + styles: ['solid'], + label: 'Alternate Sort Alphabetical Down', + }, + { + name: 'sort-alpha-up', + search: ['alphabetical', 'arrange', 'filter', 'order', 'sort-alpha-desc'], + styles: ['solid'], + label: 'Sort Alphabetical Up', + }, + { + name: 'sort-alpha-up-alt', + search: ['alphabetical', 'arrange', 'filter', 'order', 'sort-alpha-desc'], + styles: ['solid'], + label: 'Alternate Sort Alphabetical Up', + }, + { + name: 'sort-amount-down', + search: ['arrange', 'filter', 'number', 'order', 'sort-amount-asc'], + styles: ['solid'], + label: 'Sort Amount Down', + }, + { + name: 'sort-amount-down-alt', + search: ['arrange', 'filter', 'order', 'sort-amount-asc'], + styles: ['solid'], + label: 'Alternate Sort Amount Down', + }, + { + name: 'sort-amount-up', + search: ['arrange', 'filter', 'order', 'sort-amount-desc'], + styles: ['solid'], + label: 'Sort Amount Up', + }, + { + name: 'sort-amount-up-alt', + search: ['arrange', 'filter', 'order', 'sort-amount-desc'], + styles: ['solid'], + label: 'Alternate Sort Amount Up', + }, + { + name: 'sort-down', + search: ['arrow', 'descending', 'filter', 'order', 'sort-desc'], + styles: ['solid'], + label: 'Sort Down (Descending)', + }, + { + name: 'sort-numeric-down', + search: ['arrange', 'filter', 'numbers', 'order', 'sort-numeric-asc'], + styles: ['solid'], + label: 'Sort Numeric Down', + }, + { + name: 'sort-numeric-down-alt', + search: ['arrange', 'filter', 'numbers', 'order', 'sort-numeric-asc'], + styles: ['solid'], + label: 'Alternate Sort Numeric Down', + }, + { + name: 'sort-numeric-up', + search: ['arrange', 'filter', 'numbers', 'order', 'sort-numeric-desc'], + styles: ['solid'], + label: 'Sort Numeric Up', + }, + { + name: 'sort-numeric-up-alt', + search: ['arrange', 'filter', 'numbers', 'order', 'sort-numeric-desc'], + styles: ['solid'], + label: 'Alternate Sort Numeric Up', + }, + { + name: 'sort-up', + search: ['arrow', 'ascending', 'filter', 'order', 'sort-asc'], + styles: ['solid'], + label: 'Sort Up (Ascending)', + }, + { + name: 'soundcloud', + search: [], + styles: ['brands'], + label: 'SoundCloud', + }, + { + name: 'sourcetree', + search: [], + styles: ['brands'], + label: 'Sourcetree', + }, + { + name: 'spa', + search: ['flora', 'massage', 'mindfulness', 'plant', 'wellness'], + styles: ['solid'], + label: 'Spa', + }, + { + name: 'space-shuttle', + search: [ + 'astronaut', + 'machine', + 'nasa', + 'rocket', + 'space', + 'transportation', + ], + styles: ['solid'], + label: 'Space Shuttle', + }, + { + name: 'speakap', + search: [], + styles: ['brands'], + label: 'Speakap', + }, + { + name: 'speaker-deck', + search: [], + styles: ['brands'], + label: 'Speaker Deck', + }, + { + name: 'spell-check', + search: ['dictionary', 'edit', 'editor', 'grammar', 'text'], + styles: ['solid'], + label: 'Spell Check', + }, + { + name: 'spider', + search: ['arachnid', 'bug', 'charlotte', 'crawl', 'eight', 'halloween'], + styles: ['solid'], + label: 'Spider', + }, + { + name: 'spinner', + search: ['circle', 'loading', 'progress'], + styles: ['solid'], + label: 'Spinner', + }, + { + name: 'splotch', + search: ['Ink', 'blob', 'blotch', 'glob', 'stain'], + styles: ['solid'], + label: 'Splotch', + }, + { + name: 'spotify', + search: [], + styles: ['brands'], + label: 'Spotify', + }, + { + name: 'spray-can', + search: ['Paint', 'aerosol', 'design', 'graffiti', 'tag'], + styles: ['solid'], + label: 'Spray Can', + }, + { + name: 'square', + search: ['block', 'box', 'shape'], + styles: ['solid', 'regular'], + label: 'Square', + }, + { + name: 'square-full', + search: ['block', 'box', 'shape'], + styles: ['solid'], + label: 'Square Full', + }, + { + name: 'square-root-alt', + search: ['arithmetic', 'calculus', 'division', 'math'], + styles: ['solid'], + label: 'Alternate Square Root', + }, + { + name: 'squarespace', + search: [], + styles: ['brands'], + label: 'Squarespace', + }, + { + name: 'stack-exchange', + search: [], + styles: ['brands'], + label: 'Stack Exchange', + }, + { + name: 'stack-overflow', + search: [], + styles: ['brands'], + label: 'Stack Overflow', + }, + { + name: 'stackpath', + search: [], + styles: ['brands'], + label: 'Stackpath', + }, + { + name: 'stamp', + search: ['art', 'certificate', 'imprint', 'rubber', 'seal'], + styles: ['solid'], + label: 'Stamp', + }, + { + name: 'star', + search: [ + 'achievement', + 'award', + 'favorite', + 'important', + 'night', + 'rating', + 'score', + ], + styles: ['solid', 'regular'], + label: 'Star', + }, + { + name: 'star-and-crescent', + search: ['islam', 'muslim', 'religion'], + styles: ['solid'], + label: 'Star and Crescent', + }, + { + name: 'star-half', + search: [ + 'achievement', + 'award', + 'rating', + 'score', + 'star-half-empty', + 'star-half-full', + ], + styles: ['solid', 'regular'], + label: 'star-half', + }, + { + name: 'star-half-alt', + search: [ + 'achievement', + 'award', + 'rating', + 'score', + 'star-half-empty', + 'star-half-full', + ], + styles: ['solid'], + label: 'Alternate Star Half', + }, + { + name: 'star-of-david', + search: ['jewish', 'judaism', 'religion'], + styles: ['solid'], + label: 'Star of David', + }, + { + name: 'star-of-life', + search: ['doctor', 'emt', 'first aid', 'health', 'medical'], + styles: ['solid'], + label: 'Star of Life', + }, + { + name: 'staylinked', + search: [], + styles: ['brands'], + label: 'StayLinked', + }, + { + name: 'steam', + search: [], + styles: ['brands'], + label: 'Steam', + }, + { + name: 'steam-square', + search: [], + styles: ['brands'], + label: 'Steam Square', + }, + { + name: 'steam-symbol', + search: [], + styles: ['brands'], + label: 'Steam Symbol', + }, + { + name: 'step-backward', + search: ['beginning', 'first', 'previous', 'rewind', 'start'], + styles: ['solid'], + label: 'step-backward', + }, + { + name: 'step-forward', + search: ['end', 'last', 'next'], + styles: ['solid'], + label: 'step-forward', + }, + { + name: 'stethoscope', + search: [ + 'covid-19', + 'diagnosis', + 'doctor', + 'general practitioner', + 'hospital', + 'infirmary', + 'medicine', + 'office', + 'outpatient', + ], + styles: ['solid'], + label: 'Stethoscope', + }, + { + name: 'sticker-mule', + search: [], + styles: ['brands'], + label: 'Sticker Mule', + }, + { + name: 'sticky-note', + search: ['message', 'note', 'paper', 'reminder', 'sticker'], + styles: ['solid', 'regular'], + label: 'Sticky Note', + }, + { + name: 'stop', + search: ['block', 'box', 'square'], + styles: ['solid'], + label: 'stop', + }, + { + name: 'stop-circle', + search: ['block', 'box', 'circle', 'square'], + styles: ['solid', 'regular'], + label: 'Stop Circle', + }, + { + name: 'stopwatch', + search: ['clock', 'reminder', 'time'], + styles: ['solid'], + label: 'Stopwatch', + }, + { + name: 'stopwatch-20', + search: [ + 'ABCs', + 'countdown', + 'covid-19', + 'happy birthday', + 'i will survive', + 'reminder', + 'seconds', + 'time', + 'timer', + ], + styles: ['solid'], + label: 'Stopwatch 20', + }, + { + name: 'store', + search: ['building', 'buy', 'purchase', 'shopping'], + styles: ['solid'], + label: 'Store', + }, + { + name: 'store-alt', + search: ['building', 'buy', 'purchase', 'shopping'], + styles: ['solid'], + label: 'Alternate Store', + }, + { + name: 'store-alt-slash', + search: ['building', 'buy', 'closed', 'covid-19', 'purchase', 'shopping'], + styles: ['solid'], + label: 'Alternate Store Slash', + }, + { + name: 'store-slash', + search: ['building', 'buy', 'closed', 'covid-19', 'purchase', 'shopping'], + styles: ['solid'], + label: 'Store Slash', + }, + { + name: 'strava', + search: [], + styles: ['brands'], + label: 'Strava', + }, + { + name: 'stream', + search: ['flow', 'list', 'timeline'], + styles: ['solid'], + label: 'Stream', + }, + { + name: 'street-view', + search: ['directions', 'location', 'map', 'navigation'], + styles: ['solid'], + label: 'Street View', + }, + { + name: 'strikethrough', + search: ['cancel', 'edit', 'font', 'format', 'text', 'type'], + styles: ['solid'], + label: 'Strikethrough', + }, + { + name: 'stripe', + search: [], + styles: ['brands'], + label: 'Stripe', + }, + { + name: 'stripe-s', + search: [], + styles: ['brands'], + label: 'Stripe S', + }, + { + name: 'stroopwafel', + search: ['caramel', 'cookie', 'dessert', 'sweets', 'waffle'], + styles: ['solid'], + label: 'Stroopwafel', + }, + { + name: 'studiovinari', + search: [], + styles: ['brands'], + label: 'Studio Vinari', + }, + { + name: 'stumbleupon', + search: [], + styles: ['brands'], + label: 'StumbleUpon Logo', + }, + { + name: 'stumbleupon-circle', + search: [], + styles: ['brands'], + label: 'StumbleUpon Circle', + }, + { + name: 'subscript', + search: ['edit', 'font', 'format', 'text', 'type'], + styles: ['solid'], + label: 'subscript', + }, + { + name: 'subway', + search: ['machine', 'railway', 'train', 'transportation', 'vehicle'], + styles: ['solid'], + label: 'Subway', + }, + { + name: 'suitcase', + search: ['baggage', 'luggage', 'move', 'suitcase', 'travel', 'trip'], + styles: ['solid'], + label: 'Suitcase', + }, + { + name: 'suitcase-rolling', + search: ['baggage', 'luggage', 'move', 'suitcase', 'travel', 'trip'], + styles: ['solid'], + label: 'Suitcase Rolling', + }, + { + name: 'sun', + search: [ + 'brighten', + 'contrast', + 'day', + 'lighter', + 'sol', + 'solar', + 'star', + 'weather', + ], + styles: ['solid', 'regular'], + label: 'Sun', + }, + { + name: 'superpowers', + search: [], + styles: ['brands'], + label: 'Superpowers', + }, + { + name: 'superscript', + search: ['edit', 'exponential', 'font', 'format', 'text', 'type'], + styles: ['solid'], + label: 'superscript', + }, + { + name: 'supple', + search: [], + styles: ['brands'], + label: 'Supple', + }, + { + name: 'surprise', + search: ['emoticon', 'face', 'shocked'], + styles: ['solid', 'regular'], + label: 'Hushed Face', + }, + { + name: 'suse', + search: ['linux', 'operating system', 'os'], + styles: ['brands'], + label: 'Suse', + }, + { + name: 'swatchbook', + search: ['Pantone', 'color', 'design', 'hue', 'palette'], + styles: ['solid'], + label: 'Swatchbook', + }, + { + name: 'swift', + search: [], + styles: ['brands'], + label: 'Swift', + }, + { + name: 'swimmer', + search: ['athlete', 'head', 'man', 'olympics', 'person', 'pool', 'water'], + styles: ['solid'], + label: 'Swimmer', + }, + { + name: 'swimming-pool', + search: ['ladder', 'recreation', 'swim', 'water'], + styles: ['solid'], + label: 'Swimming Pool', + }, + { + name: 'symfony', + search: [], + styles: ['brands'], + label: 'Symfony', + }, + { + name: 'synagogue', + search: [ + 'building', + 'jewish', + 'judaism', + 'religion', + 'star of david', + 'temple', + ], + styles: ['solid'], + label: 'Synagogue', + }, + { + name: 'sync', + search: ['exchange', 'refresh', 'reload', 'rotate', 'swap'], + styles: ['solid'], + label: 'Sync', + }, + { + name: 'sync-alt', + search: ['exchange', 'refresh', 'reload', 'rotate', 'swap'], + styles: ['solid'], + label: 'Alternate Sync', + }, + { + name: 'syringe', + search: ['covid-19', 'doctor', 'immunizations', 'medical', 'needle'], + styles: ['solid'], + label: 'Syringe', + }, + { + name: 'table', + search: ['data', 'excel', 'spreadsheet'], + styles: ['solid'], + label: 'table', + }, + { + name: 'table-tennis', + search: ['ball', 'paddle', 'ping pong'], + styles: ['solid'], + label: 'Table Tennis', + }, + { + name: 'tablet', + search: ['apple', 'device', 'ipad', 'kindle', 'screen'], + styles: ['solid'], + label: 'tablet', + }, + { + name: 'tablet-alt', + search: ['apple', 'device', 'ipad', 'kindle', 'screen'], + styles: ['solid'], + label: 'Alternate Tablet', + }, + { + name: 'tablets', + search: ['drugs', 'medicine', 'pills', 'prescription'], + styles: ['solid'], + label: 'Tablets', + }, + { + name: 'tachometer-alt', + search: ['dashboard', 'fast', 'odometer', 'speed', 'speedometer'], + styles: ['solid'], + label: 'Alternate Tachometer', + }, + { + name: 'tag', + search: ['discount', 'label', 'price', 'shopping'], + styles: ['solid'], + label: 'tag', + }, + { + name: 'tags', + search: ['discount', 'label', 'price', 'shopping'], + styles: ['solid'], + label: 'tags', + }, + { + name: 'tape', + search: ['design', 'package', 'sticky'], + styles: ['solid'], + label: 'Tape', + }, + { + name: 'tasks', + search: [ + 'checklist', + 'downloading', + 'downloads', + 'loading', + 'progress', + 'project management', + 'settings', + 'to do', + ], + styles: ['solid'], + label: 'Tasks', + }, + { + name: 'taxi', + search: [ + 'cab', + 'cabbie', + 'car', + 'car service', + 'lyft', + 'machine', + 'transportation', + 'travel', + 'uber', + 'vehicle', + ], + styles: ['solid'], + label: 'Taxi', + }, + { + name: 'teamspeak', + search: [], + styles: ['brands'], + label: 'TeamSpeak', + }, + { + name: 'teeth', + search: ['bite', 'dental', 'dentist', 'gums', 'mouth', 'smile', 'tooth'], + styles: ['solid'], + label: 'Teeth', + }, + { + name: 'teeth-open', + search: ['dental', 'dentist', 'gums bite', 'mouth', 'smile', 'tooth'], + styles: ['solid'], + label: 'Teeth Open', + }, + { + name: 'telegram', + search: [], + styles: ['brands'], + label: 'Telegram', + }, + { + name: 'telegram-plane', + search: [], + styles: ['brands'], + label: 'Telegram Plane', + }, + { + name: 'temperature-high', + search: ['cook', 'covid-19', 'mercury', 'summer', 'thermometer', 'warm'], + styles: ['solid'], + label: 'High Temperature', + }, + { + name: 'temperature-low', + search: ['cold', 'cool', 'covid-19', 'mercury', 'thermometer', 'winter'], + styles: ['solid'], + label: 'Low Temperature', + }, + { + name: 'tencent-weibo', + search: [], + styles: ['brands'], + label: 'Tencent Weibo', + }, + { + name: 'tenge', + search: ['currency', 'kazakhstan', 'money', 'price'], + styles: ['solid'], + label: 'Tenge', + }, + { + name: 'terminal', + search: ['code', 'command', 'console', 'development', 'prompt'], + styles: ['solid'], + label: 'Terminal', + }, + { + name: 'text-height', + search: ['edit', 'font', 'format', 'text', 'type'], + styles: ['solid'], + label: 'text-height', + }, + { + name: 'text-width', + search: ['edit', 'font', 'format', 'text', 'type'], + styles: ['solid'], + label: 'Text Width', + }, + { + name: 'th', + search: ['blocks', 'boxes', 'grid', 'squares'], + styles: ['solid'], + label: 'th', + }, + { + name: 'th-large', + search: ['blocks', 'boxes', 'grid', 'squares'], + styles: ['solid'], + label: 'th-large', + }, + { + name: 'th-list', + search: ['checklist', 'completed', 'done', 'finished', 'ol', 'todo', 'ul'], + styles: ['solid'], + label: 'th-list', + }, + { + name: 'the-red-yeti', + search: [], + styles: ['brands'], + label: 'The Red Yeti', + }, + { + name: 'theater-masks', + search: ['comedy', 'perform', 'theatre', 'tragedy'], + styles: ['solid'], + label: 'Theater Masks', + }, + { + name: 'themeco', + search: [], + styles: ['brands'], + label: 'Themeco', + }, + { + name: 'themeisle', + search: [], + styles: ['brands'], + label: 'ThemeIsle', + }, + { + name: 'thermometer', + search: ['covid-19', 'mercury', 'status', 'temperature'], + styles: ['solid'], + label: 'Thermometer', + }, + { + name: 'thermometer-empty', + search: ['cold', 'mercury', 'status', 'temperature'], + styles: ['solid'], + label: 'Thermometer Empty', + }, + { + name: 'thermometer-full', + search: ['fever', 'hot', 'mercury', 'status', 'temperature'], + styles: ['solid'], + label: 'Thermometer Full', + }, + { + name: 'thermometer-half', + search: ['mercury', 'status', 'temperature'], + styles: ['solid'], + label: 'Thermometer 1/2 Full', + }, + { + name: 'thermometer-quarter', + search: ['mercury', 'status', 'temperature'], + styles: ['solid'], + label: 'Thermometer 1/4 Full', + }, + { + name: 'thermometer-three-quarters', + search: ['mercury', 'status', 'temperature'], + styles: ['solid'], + label: 'Thermometer 3/4 Full', + }, + { + name: 'think-peaks', + search: [], + styles: ['brands'], + label: 'Think Peaks', + }, + { + name: 'thumbs-down', + search: [ + 'disagree', + 'disapprove', + 'dislike', + 'hand', + 'social', + 'thumbs-o-down', + ], + styles: ['solid', 'regular'], + label: 'thumbs-down', + }, + { + name: 'thumbs-up', + search: [ + 'agree', + 'approve', + 'favorite', + 'hand', + 'like', + 'ok', + 'okay', + 'social', + 'success', + 'thumbs-o-up', + 'yes', + 'you got it dude', + ], + styles: ['solid', 'regular'], + label: 'thumbs-up', + }, + { + name: 'thumbtack', + search: ['coordinates', 'location', 'marker', 'pin', 'thumb-tack'], + styles: ['solid'], + label: 'Thumbtack', + }, + { + name: 'ticket-alt', + search: ['movie', 'pass', 'support', 'ticket'], + styles: ['solid'], + label: 'Alternate Ticket', + }, + { + name: 'times', + search: [ + 'close', + 'cross', + 'error', + 'exit', + 'incorrect', + 'notice', + 'notification', + 'notify', + 'problem', + 'wrong', + 'x', + ], + styles: ['solid'], + label: 'Times', + }, + { + name: 'times-circle', + search: [ + 'close', + 'cross', + 'exit', + 'incorrect', + 'notice', + 'notification', + 'notify', + 'problem', + 'wrong', + 'x', + ], + styles: ['solid', 'regular'], + label: 'Times Circle', + }, + { + name: 'tint', + search: ['color', 'drop', 'droplet', 'raindrop', 'waterdrop'], + styles: ['solid'], + label: 'tint', + }, + { + name: 'tint-slash', + search: ['color', 'drop', 'droplet', 'raindrop', 'waterdrop'], + styles: ['solid'], + label: 'Tint Slash', + }, + { + name: 'tired', + search: ['angry', 'emoticon', 'face', 'grumpy', 'upset'], + styles: ['solid', 'regular'], + label: 'Tired Face', + }, + { + name: 'toggle-off', + search: ['switch'], + styles: ['solid'], + label: 'Toggle Off', + }, + { + name: 'toggle-on', + search: ['switch'], + styles: ['solid'], + label: 'Toggle On', + }, + { + name: 'toilet', + search: [ + 'bathroom', + 'flush', + 'john', + 'loo', + 'pee', + 'plumbing', + 'poop', + 'porcelain', + 'potty', + 'restroom', + 'throne', + 'washroom', + 'waste', + 'wc', + ], + styles: ['solid'], + label: 'Toilet', + }, + { + name: 'toilet-paper', + search: [ + 'bathroom', + 'covid-19', + 'halloween', + 'holiday', + 'lavatory', + 'prank', + 'restroom', + 'roll', + ], + styles: ['solid'], + label: 'Toilet Paper', + }, + { + name: 'toilet-paper-slash', + search: [ + 'bathroom', + 'covid-19', + 'halloween', + 'holiday', + 'lavatory', + 'leaves', + 'prank', + 'restroom', + 'roll', + 'trouble', + 'ut oh', + ], + styles: ['solid'], + label: 'Toilet Paper Slash', + }, + { + name: 'toolbox', + search: ['admin', 'container', 'fix', 'repair', 'settings', 'tools'], + styles: ['solid'], + label: 'Toolbox', + }, + { + name: 'tools', + search: [ + 'admin', + 'fix', + 'repair', + 'screwdriver', + 'settings', + 'tools', + 'wrench', + ], + styles: ['solid'], + label: 'Tools', + }, + { + name: 'tooth', + search: ['bicuspid', 'dental', 'dentist', 'molar', 'mouth', 'teeth'], + styles: ['solid'], + label: 'Tooth', + }, + { + name: 'torah', + search: ['book', 'jewish', 'judaism', 'religion', 'scroll'], + styles: ['solid'], + label: 'Torah', + }, + { + name: 'torii-gate', + search: ['building', 'shintoism'], + styles: ['solid'], + label: 'Torii Gate', + }, + { + name: 'tractor', + search: ['agriculture', 'farm', 'vehicle'], + styles: ['solid'], + label: 'Tractor', + }, + { + name: 'trade-federation', + search: [], + styles: ['brands'], + label: 'Trade Federation', + }, + { + name: 'trademark', + search: ['copyright', 'register', 'symbol'], + styles: ['solid'], + label: 'Trademark', + }, + { + name: 'traffic-light', + search: ['direction', 'road', 'signal', 'travel'], + styles: ['solid'], + label: 'Traffic Light', + }, + { + name: 'trailer', + search: ['carry', 'haul', 'moving', 'travel'], + styles: ['solid'], + label: 'Trailer', + }, + { + name: 'train', + search: ['bullet', 'commute', 'locomotive', 'railway', 'subway'], + styles: ['solid'], + label: 'Train', + }, + { + name: 'tram', + search: ['crossing', 'machine', 'mountains', 'seasonal', 'transportation'], + styles: ['solid'], + label: 'Tram', + }, + { + name: 'transgender', + search: ['intersex'], + styles: ['solid'], + label: 'Transgender', + }, + { + name: 'transgender-alt', + search: ['intersex'], + styles: ['solid'], + label: 'Alternate Transgender', + }, + { + name: 'trash', + search: ['delete', 'garbage', 'hide', 'remove'], + styles: ['solid'], + label: 'Trash', + }, + { + name: 'trash-alt', + search: ['delete', 'garbage', 'hide', 'remove', 'trash-o'], + styles: ['solid', 'regular'], + label: 'Alternate Trash', + }, + { + name: 'trash-restore', + search: ['back', 'control z', 'oops', 'undo'], + styles: ['solid'], + label: 'Trash Restore', + }, + { + name: 'trash-restore-alt', + search: ['back', 'control z', 'oops', 'undo'], + styles: ['solid'], + label: 'Alternative Trash Restore', + }, + { + name: 'tree', + search: ['bark', 'fall', 'flora', 'forest', 'nature', 'plant', 'seasonal'], + styles: ['solid'], + label: 'Tree', + }, + { + name: 'trello', + search: ['atlassian'], + styles: ['brands'], + label: 'Trello', + }, + { + name: 'tripadvisor', + search: [], + styles: ['brands'], + label: 'TripAdvisor', + }, + { + name: 'trophy', + search: ['achievement', 'award', 'cup', 'game', 'winner'], + styles: ['solid'], + label: 'trophy', + }, + { + name: 'truck', + search: ['cargo', 'delivery', 'shipping', 'vehicle'], + styles: ['solid'], + label: 'truck', + }, + { + name: 'truck-loading', + search: [ + 'box', + 'cargo', + 'delivery', + 'inventory', + 'moving', + 'rental', + 'vehicle', + ], + styles: ['solid'], + label: 'Truck Loading', + }, + { + name: 'truck-monster', + search: ['offroad', 'vehicle', 'wheel'], + styles: ['solid'], + label: 'Truck Monster', + }, + { + name: 'truck-moving', + search: ['cargo', 'inventory', 'rental', 'vehicle'], + styles: ['solid'], + label: 'Truck Moving', + }, + { + name: 'truck-pickup', + search: ['cargo', 'vehicle'], + styles: ['solid'], + label: 'Truck Side', + }, + { + name: 'tshirt', + search: ['clothing', 'fashion', 'garment', 'shirt'], + styles: ['solid'], + label: 'T-Shirt', + }, + { + name: 'tty', + search: ['communication', 'deaf', 'telephone', 'teletypewriter', 'text'], + styles: ['solid'], + label: 'TTY', + }, + { + name: 'tumblr', + search: [], + styles: ['brands'], + label: 'Tumblr', + }, + { + name: 'tumblr-square', + search: [], + styles: ['brands'], + label: 'Tumblr Square', + }, + { + name: 'tv', + search: ['computer', 'display', 'monitor', 'television'], + styles: ['solid'], + label: 'Television', + }, + { + name: 'twitch', + search: [], + styles: ['brands'], + label: 'Twitch', + }, + { + name: 'twitter', + search: ['social network', 'tweet'], + styles: ['brands'], + label: 'Twitter', + }, + { + name: 'twitter-square', + search: ['social network', 'tweet'], + styles: ['brands'], + label: 'Twitter Square', + }, + { + name: 'typo3', + search: [], + styles: ['brands'], + label: 'Typo3', + }, + { + name: 'uber', + search: [], + styles: ['brands'], + label: 'Uber', + }, + { + name: 'ubuntu', + search: ['linux', 'operating system', 'os'], + styles: ['brands'], + label: 'Ubuntu', + }, + { + name: 'uikit', + search: [], + styles: ['brands'], + label: 'UIkit', + }, + { + name: 'umbraco', + search: [], + styles: ['brands'], + label: 'Umbraco', + }, + { + name: 'umbrella', + search: ['protection', 'rain', 'storm', 'wet'], + styles: ['solid'], + label: 'Umbrella', + }, + { + name: 'umbrella-beach', + search: ['protection', 'recreation', 'sand', 'shade', 'summer', 'sun'], + styles: ['solid'], + label: 'Umbrella Beach', + }, + { + name: 'underline', + search: ['edit', 'emphasis', 'format', 'text', 'writing'], + styles: ['solid'], + label: 'Underline', + }, + { + name: 'undo', + search: [ + 'back', + 'control z', + 'exchange', + 'oops', + 'return', + 'rotate', + 'swap', + ], + styles: ['solid'], + label: 'Undo', + }, + { + name: 'undo-alt', + search: ['back', 'control z', 'exchange', 'oops', 'return', 'swap'], + styles: ['solid'], + label: 'Alternate Undo', + }, + { + name: 'uniregistry', + search: [], + styles: ['brands'], + label: 'Uniregistry', + }, + { + name: 'unity', + search: [], + styles: ['brands'], + label: 'Unity 3D', + }, + { + name: 'universal-access', + search: [ + 'accessibility', + 'hearing', + 'person', + 'seeing', + 'visual impairment', + ], + styles: ['solid'], + label: 'Universal Access', + }, + { + name: 'university', + search: [ + 'bank', + 'building', + 'college', + 'higher education - students', + 'institution', + ], + styles: ['solid'], + label: 'University', + }, + { + name: 'unlink', + search: ['attachment', 'chain', 'chain-broken', 'remove'], + styles: ['solid'], + label: 'unlink', + }, + { + name: 'unlock', + search: ['admin', 'lock', 'password', 'private', 'protect'], + styles: ['solid'], + label: 'unlock', + }, + { + name: 'unlock-alt', + search: ['admin', 'lock', 'password', 'private', 'protect'], + styles: ['solid'], + label: 'Alternate Unlock', + }, + { + name: 'untappd', + search: [], + styles: ['brands'], + label: 'Untappd', + }, + { + name: 'upload', + search: ['hard drive', 'import', 'publish'], + styles: ['solid'], + label: 'Upload', + }, + { + name: 'ups', + search: ['United Parcel Service', 'package', 'shipping'], + styles: ['brands'], + label: 'UPS', + }, + { + name: 'usb', + search: [], + styles: ['brands'], + label: 'USB', + }, + { + name: 'user', + search: ['account', 'avatar', 'head', 'human', 'man', 'person', 'profile'], + styles: ['solid', 'regular'], + label: 'User', + }, + { + name: 'user-alt', + search: ['account', 'avatar', 'head', 'human', 'man', 'person', 'profile'], + styles: ['solid'], + label: 'Alternate User', + }, + { + name: 'user-alt-slash', + search: ['account', 'avatar', 'head', 'human', 'man', 'person', 'profile'], + styles: ['solid'], + label: 'Alternate User Slash', + }, + { + name: 'user-astronaut', + search: ['avatar', 'clothing', 'cosmonaut', 'nasa', 'space', 'suit'], + styles: ['solid'], + label: 'User Astronaut', + }, + { + name: 'user-check', + search: ['accept', 'check', 'person', 'verified'], + styles: ['solid'], + label: 'User Check', + }, + { + name: 'user-circle', + search: ['account', 'avatar', 'head', 'human', 'man', 'person', 'profile'], + styles: ['solid', 'regular'], + label: 'User Circle', + }, + { + name: 'user-clock', + search: ['alert', 'person', 'remind', 'time'], + styles: ['solid'], + label: 'User Clock', + }, + { + name: 'user-cog', + search: ['admin', 'cog', 'person', 'settings'], + styles: ['solid'], + label: 'User Cog', + }, + { + name: 'user-edit', + search: ['edit', 'pen', 'pencil', 'person', 'update', 'write'], + styles: ['solid'], + label: 'User Edit', + }, + { + name: 'user-friends', + search: ['group', 'people', 'person', 'team', 'users'], + styles: ['solid'], + label: 'User Friends', + }, + { + name: 'user-graduate', + search: [ + 'cap', + 'clothing', + 'commencement', + 'gown', + 'graduation', + 'person', + 'student', + ], + styles: ['solid'], + label: 'User Graduate', + }, + { + name: 'user-injured', + search: ['cast', 'injury', 'ouch', 'patient', 'person', 'sling'], + styles: ['solid'], + label: 'User Injured', + }, + { + name: 'user-lock', + search: ['admin', 'lock', 'person', 'private', 'unlock'], + styles: ['solid'], + label: 'User Lock', + }, + { + name: 'user-md', + search: [ + 'covid-19', + 'job', + 'medical', + 'nurse', + 'occupation', + 'physician', + 'profile', + 'surgeon', + ], + styles: ['solid'], + label: 'Doctor', + }, + { + name: 'user-minus', + search: ['delete', 'negative', 'remove'], + styles: ['solid'], + label: 'User Minus', + }, + { + name: 'user-ninja', + search: ['assassin', 'avatar', 'dangerous', 'deadly', 'sneaky'], + styles: ['solid'], + label: 'User Ninja', + }, + { + name: 'user-nurse', + search: ['covid-19', 'doctor', 'midwife', 'practitioner', 'surgeon'], + styles: ['solid'], + label: 'Nurse', + }, + { + name: 'user-plus', + search: ['add', 'avatar', 'positive', 'sign up', 'signup', 'team'], + styles: ['solid'], + label: 'User Plus', + }, + { + name: 'user-secret', + search: [ + 'clothing', + 'coat', + 'hat', + 'incognito', + 'person', + 'privacy', + 'spy', + 'whisper', + ], + styles: ['solid'], + label: 'User Secret', + }, + { + name: 'user-shield', + search: ['admin', 'person', 'private', 'protect', 'safe'], + styles: ['solid'], + label: 'User Shield', + }, + { + name: 'user-slash', + search: ['ban', 'delete', 'remove'], + styles: ['solid'], + label: 'User Slash', + }, + { + name: 'user-tag', + search: ['avatar', 'discount', 'label', 'person', 'role', 'special'], + styles: ['solid'], + label: 'User Tag', + }, + { + name: 'user-tie', + search: [ + 'avatar', + 'business', + 'clothing', + 'formal', + 'professional', + 'suit', + ], + styles: ['solid'], + label: 'User Tie', + }, + { + name: 'user-times', + search: ['archive', 'delete', 'remove', 'x'], + styles: ['solid'], + label: 'Remove User', + }, + { + name: 'users', + search: ['friends', 'group', 'people', 'persons', 'profiles', 'team'], + styles: ['solid'], + label: 'Users', + }, + { + name: 'users-cog', + search: ['admin', 'cog', 'group', 'person', 'settings', 'team'], + styles: ['solid'], + label: 'Users Cog', + }, + { + name: 'usps', + search: ['american', 'package', 'shipping', 'usa'], + styles: ['brands'], + label: 'United States Postal Service', + }, + { + name: 'ussunnah', + search: [], + styles: ['brands'], + label: 'us-Sunnah Foundation', + }, + { + name: 'utensil-spoon', + search: ['cutlery', 'dining', 'scoop', 'silverware', 'spoon'], + styles: ['solid'], + label: 'Utensil Spoon', + }, + { + name: 'utensils', + search: [ + 'cutlery', + 'dining', + 'dinner', + 'eat', + 'food', + 'fork', + 'knife', + 'restaurant', + ], + styles: ['solid'], + label: 'Utensils', + }, + { + name: 'vaadin', + search: [], + styles: ['brands'], + label: 'Vaadin', + }, + { + name: 'vector-square', + search: ['anchors', 'lines', 'object', 'render', 'shape'], + styles: ['solid'], + label: 'Vector Square', + }, + { + name: 'venus', + search: ['female'], + styles: ['solid'], + label: 'Venus', + }, + { + name: 'venus-double', + search: ['female'], + styles: ['solid'], + label: 'Venus Double', + }, + { + name: 'venus-mars', + search: ['Gender'], + styles: ['solid'], + label: 'Venus Mars', + }, + { + name: 'viacoin', + search: [], + styles: ['brands'], + label: 'Viacoin', + }, + { + name: 'viadeo', + search: [], + styles: ['brands'], + label: 'Video', + }, + { + name: 'viadeo-square', + search: [], + styles: ['brands'], + label: 'Video Square', + }, + { + name: 'vial', + search: ['experiment', 'lab', 'sample', 'science', 'test', 'test tube'], + styles: ['solid'], + label: 'Vial', + }, + { + name: 'vials', + search: ['experiment', 'lab', 'sample', 'science', 'test', 'test tube'], + styles: ['solid'], + label: 'Vials', + }, + { + name: 'viber', + search: [], + styles: ['brands'], + label: 'Viber', + }, + { + name: 'video', + search: ['camera', 'film', 'movie', 'record', 'video-camera'], + styles: ['solid'], + label: 'Video', + }, + { + name: 'video-slash', + search: ['add', 'create', 'film', 'new', 'positive', 'record', 'video'], + styles: ['solid'], + label: 'Video Slash', + }, + { + name: 'vihara', + search: ['buddhism', 'buddhist', 'building', 'monastery'], + styles: ['solid'], + label: 'Vihara', + }, + { + name: 'vimeo', + search: [], + styles: ['brands'], + label: 'Vimeo', + }, + { + name: 'vimeo-square', + search: [], + styles: ['brands'], + label: 'Vimeo Square', + }, + { + name: 'vimeo-v', + search: ['vimeo'], + styles: ['brands'], + label: 'Vimeo', + }, + { + name: 'vine', + search: [], + styles: ['brands'], + label: 'Vine', + }, + { + name: 'virus', + search: ['bug', 'covid-19', 'flu', 'health', 'sick', 'viral'], + styles: ['solid'], + label: 'Virus', + }, + { + name: 'virus-slash', + search: [ + 'bug', + 'covid-19', + 'cure', + 'eliminate', + 'flu', + 'health', + 'sick', + 'viral', + ], + styles: ['solid'], + label: 'Virus Slash', + }, + { + name: 'viruses', + search: [ + 'bugs', + 'covid-19', + 'flu', + 'health', + 'multiply', + 'sick', + 'spread', + 'viral', + ], + styles: ['solid'], + label: 'Viruses', + }, + { + name: 'vk', + search: [], + styles: ['brands'], + label: 'VK', + }, + { + name: 'vnv', + search: [], + styles: ['brands'], + label: 'VNV', + }, + { + name: 'voicemail', + search: ['answer', 'inbox', 'message', 'phone'], + styles: ['solid'], + label: 'Voicemail', + }, + { + name: 'volleyball-ball', + search: ['beach', 'olympics', 'sport'], + styles: ['solid'], + label: 'Volleyball Ball', + }, + { + name: 'volume-down', + search: ['audio', 'lower', 'music', 'quieter', 'sound', 'speaker'], + styles: ['solid'], + label: 'Volume Down', + }, + { + name: 'volume-mute', + search: ['audio', 'music', 'quiet', 'sound', 'speaker'], + styles: ['solid'], + label: 'Volume Mute', + }, + { + name: 'volume-off', + search: ['audio', 'ban', 'music', 'mute', 'quiet', 'silent', 'sound'], + styles: ['solid'], + label: 'Volume Off', + }, + { + name: 'volume-up', + search: ['audio', 'higher', 'louder', 'music', 'sound', 'speaker'], + styles: ['solid'], + label: 'Volume Up', + }, + { + name: 'vote-yea', + search: ['accept', 'cast', 'election', 'politics', 'positive', 'yes'], + styles: ['solid'], + label: 'Vote Yea', + }, + { + name: 'vr-cardboard', + search: ['3d', 'augment', 'google', 'reality', 'virtual'], + styles: ['solid'], + label: 'Cardboard VR', + }, + { + name: 'vuejs', + search: [], + styles: ['brands'], + label: 'Vue.js', + }, + { + name: 'walking', + search: ['exercise', 'health', 'pedometer', 'person', 'steps'], + styles: ['solid'], + label: 'Walking', + }, + { + name: 'wallet', + search: ['billfold', 'cash', 'currency', 'money'], + styles: ['solid'], + label: 'Wallet', + }, + { + name: 'warehouse', + search: ['building', 'capacity', 'garage', 'inventory', 'storage'], + styles: ['solid'], + label: 'Warehouse', + }, + { + name: 'water', + search: ['lake', 'liquid', 'ocean', 'sea', 'swim', 'wet'], + styles: ['solid'], + label: 'Water', + }, + { + name: 'wave-square', + search: ['frequency', 'pulse', 'signal'], + styles: ['solid'], + label: 'Square Wave', + }, + { + name: 'waze', + search: [], + styles: ['brands'], + label: 'Waze', + }, + { + name: 'weebly', + search: [], + styles: ['brands'], + label: 'Weebly', + }, + { + name: 'weibo', + search: [], + styles: ['brands'], + label: 'Weibo', + }, + { + name: 'weight', + search: ['health', 'measurement', 'scale', 'weight'], + styles: ['solid'], + label: 'Weight', + }, + { + name: 'weight-hanging', + search: ['anvil', 'heavy', 'measurement'], + styles: ['solid'], + label: 'Hanging Weight', + }, + { + name: 'weixin', + search: [], + styles: ['brands'], + label: 'Weixin (WeChat)', + }, + { + name: 'whatsapp', + search: [], + styles: ['brands'], + label: 'What\'s App', + }, + { + name: 'whatsapp-square', + search: [], + styles: ['brands'], + label: 'What\'s App Square', + }, + { + name: 'wheelchair', + search: ['accessible', 'handicap', 'person'], + styles: ['solid'], + label: 'Wheelchair', + }, + { + name: 'whmcs', + search: [], + styles: ['brands'], + label: 'WHMCS', + }, + { + name: 'wifi', + search: ['connection', 'hotspot', 'internet', 'network', 'wireless'], + styles: ['solid'], + label: 'WiFi', + }, + { + name: 'wikipedia-w', + search: [], + styles: ['brands'], + label: 'Wikipedia W', + }, + { + name: 'wind', + search: ['air', 'blow', 'breeze', 'fall', 'seasonal', 'weather'], + styles: ['solid'], + label: 'Wind', + }, + { + name: 'window-close', + search: ['browser', 'cancel', 'computer', 'development'], + styles: ['solid', 'regular'], + label: 'Window Close', + }, + { + name: 'window-maximize', + search: ['browser', 'computer', 'development', 'expand'], + styles: ['solid', 'regular'], + label: 'Window Maximize', + }, + { + name: 'window-minimize', + search: ['browser', 'collapse', 'computer', 'development'], + styles: ['solid', 'regular'], + label: 'Window Minimize', + }, + { + name: 'window-restore', + search: ['browser', 'computer', 'development'], + styles: ['solid', 'regular'], + label: 'Window Restore', + }, + { + name: 'windows', + search: ['microsoft', 'operating system', 'os'], + styles: ['brands'], + label: 'Windows', + }, + { + name: 'wine-bottle', + search: [ + 'alcohol', + 'beverage', + 'cabernet', + 'drink', + 'glass', + 'grapes', + 'merlot', + 'sauvignon', + ], + styles: ['solid'], + label: 'Wine Bottle', + }, + { + name: 'wine-glass', + search: [ + 'alcohol', + 'beverage', + 'cabernet', + 'drink', + 'grapes', + 'merlot', + 'sauvignon', + ], + styles: ['solid'], + label: 'Wine Glass', + }, + { + name: 'wine-glass-alt', + search: [ + 'alcohol', + 'beverage', + 'cabernet', + 'drink', + 'grapes', + 'merlot', + 'sauvignon', + ], + styles: ['solid'], + label: 'Alternate Wine Glas', + }, + { + name: 'wix', + search: [], + styles: ['brands'], + label: 'Wix', + }, + { + name: 'wizards-of-the-coast', + search: [ + 'Dungeons & Dragons', + 'd&d', + 'dnd', + 'fantasy', + 'game', + 'gaming', + 'tabletop', + ], + styles: ['brands'], + label: 'Wizards of the Coast', + }, + { + name: 'wolf-pack-battalion', + search: [], + styles: ['brands'], + label: 'Wolf Pack Battalion', + }, + { + name: 'won-sign', + search: ['currency', 'krw', 'money'], + styles: ['solid'], + label: 'Won Sign', + }, + { + name: 'wordpress', + search: [], + styles: ['brands'], + label: 'WordPress Logo', + }, + { + name: 'wordpress-simple', + search: [], + styles: ['brands'], + label: 'Wordpress Simple', + }, + { + name: 'wpbeginner', + search: [], + styles: ['brands'], + label: 'WPBeginner', + }, + { + name: 'wpexplorer', + search: [], + styles: ['brands'], + label: 'WPExplorer', + }, + { + name: 'wpforms', + search: [], + styles: ['brands'], + label: 'WPForms', + }, + { + name: 'wpressr', + search: ['rendact'], + styles: ['brands'], + label: 'wpressr', + }, + { + name: 'wrench', + search: [ + 'construction', + 'fix', + 'mechanic', + 'plumbing', + 'settings', + 'spanner', + 'tool', + 'update', + ], + styles: ['solid'], + label: 'Wrench', + }, + { + name: 'x-ray', + search: [ + 'health', + 'medical', + 'radiological images', + 'radiology', + 'skeleton', + ], + styles: ['solid'], + label: 'X-Ray', + }, + { + name: 'xbox', + search: [], + styles: ['brands'], + label: 'Xbox', + }, + { + name: 'xing', + search: [], + styles: ['brands'], + label: 'Xing', + }, + { + name: 'xing-square', + search: [], + styles: ['brands'], + label: 'Xing Square', + }, + { + name: 'y-combinator', + search: [], + styles: ['brands'], + label: 'Y Combinator', + }, + { + name: 'yahoo', + search: [], + styles: ['brands'], + label: 'Yahoo Logo', + }, + { + name: 'yammer', + search: [], + styles: ['brands'], + label: 'Yammer', + }, + { + name: 'yandex', + search: [], + styles: ['brands'], + label: 'Yandex', + }, + { + name: 'yandex-international', + search: [], + styles: ['brands'], + label: 'Yandex International', + }, + { + name: 'yarn', + search: [], + styles: ['brands'], + label: 'Yarn', + }, + { + name: 'yelp', + search: [], + styles: ['brands'], + label: 'Yelp', + }, + { + name: 'yen-sign', + search: ['currency', 'jpy', 'money'], + styles: ['solid'], + label: 'Yen Sign', + }, + { + name: 'yin-yang', + search: ['daoism', 'opposites', 'taoism'], + styles: ['solid'], + label: 'Yin Yang', + }, + { + name: 'yoast', + search: [], + styles: ['brands'], + label: 'Yoast', + }, + { + name: 'youtube', + search: ['film', 'video', 'youtube-play', 'youtube-square'], + styles: ['brands'], + label: 'YouTube', + }, + { + name: 'youtube-square', + search: [], + styles: ['brands'], + label: 'YouTube Square', + }, + { + name: 'zhihu', + search: [], + styles: ['brands'], + label: 'Zhihu', + }, +]; diff --git a/src/component/form/feedback/index.css b/src/component/form/feedback/index.css index f56d4667..f53423ab 100644 --- a/src/component/form/feedback/index.css +++ b/src/component/form/feedback/index.css @@ -14,7 +14,8 @@ .form-feedback { background-color: hsl(var(--form-feedback-background)); - padding: calc((var(--form-feedback-space) / 4) * 0.5em) calc((var(--form-feedback-space) / 4) * 1em); + padding: calc((var(--form-feedback-space) / 4) * 0.5em) + calc((var(--form-feedback-space) / 4) * 1em); border: 0; border-left-width: calc(var(--layout-line-width) * 2); border-left-style: solid; @@ -22,7 +23,8 @@ border-top-right-radius: calc(var(--theme-radius) * 0.01em); border-bottom-right-radius: calc(var(--theme-radius) * 0.01em); width: 100%; - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast); } .form-feedback p { diff --git a/src/component/form/feedback/index.js b/src/component/form/feedback/index.js index fa3329c2..8915afb7 100644 --- a/src/component/form/feedback/index.js +++ b/src/component/form/feedback/index.js @@ -3,25 +3,23 @@ import { complexNode } from '../../../utility/complexNode'; import './index.css'; -export const feedback = ({ - text = false -} = {}) => { - +export const feedback = ({ text = false } = {}) => { const feedback = node('div|class:form-feedback'); if (text) { const feedbackText = complexNode({ tag: 'p', text: text, - attr: [{ - key: 'class', - value: 'muted small' - }] + attr: [ + { + key: 'class', + value: 'muted small', + }, + ], }); feedback.appendChild(feedbackText); } return feedback; - }; diff --git a/src/component/form/fieldset/index.js b/src/component/form/fieldset/index.js index e607f614..79f7a558 100644 --- a/src/component/form/fieldset/index.js +++ b/src/component/form/fieldset/index.js @@ -2,10 +2,6 @@ import { node } from '../../../utility/node'; import './index.css'; -export const fieldset = function ({ - children = false -} = {}) { - +export const fieldset = function ({ children = false } = {}) { return node('fieldset|class:form-fieldset', children); - -}; \ No newline at end of file +}; diff --git a/src/component/form/grid/index.css b/src/component/form/grid/index.css index 852ca572..1527915b 100644 --- a/src/component/form/grid/index.css +++ b/src/component/form/grid/index.css @@ -58,8 +58,7 @@ .form-grid-3x1 { grid-template-columns: repeat(3, 1fr); border-radius: calc(var(--theme-radius) * 0.01em); - grid-template-areas: - "cell-1 cell-2 cell-3"; + grid-template-areas: "cell-1 cell-2 cell-3"; } .form-grid-1x3 { @@ -71,9 +70,9 @@ "cell-3"; } -.form-grid-3x3>*, -.form-grid-3x1>*, -.form-grid-1x3>* { +.form-grid-3x3 > *, +.form-grid-3x1 > *, +.form-grid-1x3 > * { grid-area: var(--form-grid-cell); } @@ -82,8 +81,8 @@ margin-bottom: 0; } -.form-grid input[type="checkbox"]+label, -.form-grid input[type="radio"]+label { +.form-grid input[type="checkbox"] + label, +.form-grid input[type="radio"] + label { background-color: transparent; padding: 0; margin: 0; @@ -95,15 +94,15 @@ z-index: 1; } -.form-grid input[type="checkbox"]:hover+label, -.form-grid input[type="checkbox"]:focus+label, -.form-grid input[type="radio"]:hover+label, -.form-grid input[type="radio"]:focus+label { +.form-grid input[type="checkbox"]:hover + label, +.form-grid input[type="checkbox"]:focus + label, +.form-grid input[type="radio"]:hover + label, +.form-grid input[type="radio"]:focus + label { box-shadow: none; } -.form-grid input[type="checkbox"]+label .label-icon, -.form-grid input[type="radio"]+label .label-icon { +.form-grid input[type="checkbox"] + label .label-icon, +.form-grid input[type="radio"] + label .label-icon { margin-right: 0; position: absolute; top: 50%; @@ -117,42 +116,86 @@ --grid-radius-negative: calc((var(--grid-radius-offset) * -1) + -50%); } -.form-grid-3x3 .form-wrap:nth-child(1) input[type="checkbox"]+label .label-icon, -.form-grid-3x3 .form-wrap:nth-child(1) input[type="radio"]+label .label-icon { - transform: translate(var(--grid-radius-positive), var(--grid-radius-positive)); -} - -.form-grid-3x3 .form-wrap:nth-child(2) input[type="checkbox"]+label .label-icon, -.form-grid-3x3 .form-wrap:nth-child(2) input[type="radio"]+label .label-icon { +.form-grid-3x3 + .form-wrap:nth-child(1) + input[type="checkbox"] + + label + .label-icon, +.form-grid-3x3 .form-wrap:nth-child(1) input[type="radio"] + label .label-icon { + transform: translate( + var(--grid-radius-positive), + var(--grid-radius-positive) + ); +} + +.form-grid-3x3 + .form-wrap:nth-child(2) + input[type="checkbox"] + + label + .label-icon, +.form-grid-3x3 .form-wrap:nth-child(2) input[type="radio"] + label .label-icon { transform: translate(-50%, var(--grid-radius-positive)); } -.form-grid-3x3 .form-wrap:nth-child(3) input[type="checkbox"]+label .label-icon, -.form-grid-3x3 .form-wrap:nth-child(3) input[type="radio"]+label .label-icon { - transform: translate(var(--grid-radius-negative), var(--grid-radius-positive)); -} - -.form-grid-3x3 .form-wrap:nth-child(4) input[type="checkbox"]+label .label-icon, -.form-grid-3x3 .form-wrap:nth-child(4) input[type="radio"]+label .label-icon { +.form-grid-3x3 + .form-wrap:nth-child(3) + input[type="checkbox"] + + label + .label-icon, +.form-grid-3x3 .form-wrap:nth-child(3) input[type="radio"] + label .label-icon { + transform: translate( + var(--grid-radius-negative), + var(--grid-radius-positive) + ); +} + +.form-grid-3x3 + .form-wrap:nth-child(4) + input[type="checkbox"] + + label + .label-icon, +.form-grid-3x3 .form-wrap:nth-child(4) input[type="radio"] + label .label-icon { transform: translate(var(--grid-radius-positive), -50%); } -.form-grid-3x3 .form-wrap:nth-child(6) input[type="checkbox"]+label .label-icon, -.form-grid-3x3 .form-wrap:nth-child(6) input[type="radio"]+label .label-icon { +.form-grid-3x3 + .form-wrap:nth-child(6) + input[type="checkbox"] + + label + .label-icon, +.form-grid-3x3 .form-wrap:nth-child(6) input[type="radio"] + label .label-icon { transform: translate(var(--grid-radius-negative), -50%); } -.form-grid-3x3 .form-wrap:nth-child(7) input[type="checkbox"]+label .label-icon, -.form-grid-3x3 .form-wrap:nth-child(7) input[type="radio"]+label .label-icon { - transform: translate(var(--grid-radius-positive), var(--grid-radius-negative)); -} - -.form-grid-3x3 .form-wrap:nth-child(8) input[type="checkbox"]+label .label-icon, -.form-grid-3x3 .form-wrap:nth-child(8) input[type="radio"]+label .label-icon { +.form-grid-3x3 + .form-wrap:nth-child(7) + input[type="checkbox"] + + label + .label-icon, +.form-grid-3x3 .form-wrap:nth-child(7) input[type="radio"] + label .label-icon { + transform: translate( + var(--grid-radius-positive), + var(--grid-radius-negative) + ); +} + +.form-grid-3x3 + .form-wrap:nth-child(8) + input[type="checkbox"] + + label + .label-icon, +.form-grid-3x3 .form-wrap:nth-child(8) input[type="radio"] + label .label-icon { transform: translate(-50%, var(--grid-radius-negative)); } -.form-grid-3x3 .form-wrap:nth-child(9) input[type="checkbox"]+label .label-icon, -.form-grid-3x3 .form-wrap:nth-child(9) input[type="radio"]+label .label-icon { - transform: translate(var(--grid-radius-negative), var(--grid-radius-negative)); +.form-grid-3x3 + .form-wrap:nth-child(9) + input[type="checkbox"] + + label + .label-icon, +.form-grid-3x3 .form-wrap:nth-child(9) input[type="radio"] + label .label-icon { + transform: translate( + var(--grid-radius-negative), + var(--grid-radius-negative) + ); } diff --git a/src/component/form/grid/index.js b/src/component/form/grid/index.js index 04b11e62..104f0a30 100644 --- a/src/component/form/grid/index.js +++ b/src/component/form/grid/index.js @@ -2,10 +2,6 @@ import { node } from '../../../utility/node'; import './index.css'; -export const grid = ({ - children = false -} = {}) => { - +export const grid = ({ children = false } = {}) => { return node('div|class:form-grid', children); - }; diff --git a/src/component/form/group/index.css b/src/component/form/group/index.css index 5393b853..efced563 100644 --- a/src/component/form/group/index.css +++ b/src/component/form/group/index.css @@ -52,19 +52,19 @@ .form-group .form-group-text, .form-group .button, -.form-group .form-input-button input[type="checkbox"]+label, -.form-group .form-input-button input[type="radio"]+label, -.form-group .form-input-button input[type="color"]+label, -.form-group .form-input-button input[type="file"]+label, -.form-group>select, -.form-group>input[type="email"], -.form-group>input[type="number"], -.form-group>input[type="password"], -.form-group>input[type="search"], -.form-group>input[type="tel"], -.form-group>input[type="text"], -.form-group>input[type="color"], -.form-group>input[type="range"] { +.form-group .form-input-button input[type="checkbox"] + label, +.form-group .form-input-button input[type="radio"] + label, +.form-group .form-input-button input[type="color"] + label, +.form-group .form-input-button input[type="file"] + label, +.form-group > select, +.form-group > input[type="email"], +.form-group > input[type="number"], +.form-group > input[type="password"], +.form-group > input[type="search"], +.form-group > input[type="tel"], +.form-group > input[type="text"], +.form-group > input[type="color"], +.form-group > input[type="range"] { margin: 0; border-radius: 0; height: inherit; @@ -81,19 +81,19 @@ .form-group .form-group-text:focus, .form-group .button:focus, -.form-group .form-input-button input[type="checkbox"]:focus+label, -.form-group .form-input-button input[type="radio"]:focus+label, -.form-group .form-input-button input[type="color"]:focus+label, -.form-group .form-input-button input[type="file"]:focus+label, -.form-group>select:focus, -.form-group>input[type="email"]:focus, -.form-group>input[type="number"]:focus, -.form-group>input[type="password"]:focus, -.form-group>input[type="search"]:focus, -.form-group>input[type="tel"]:focus, -.form-group>input[type="text"]:focus, -.form-group>input[type="color"]:focus, -.form-group>input[type="range"]:focus { +.form-group .form-input-button input[type="checkbox"]:focus + label, +.form-group .form-input-button input[type="radio"]:focus + label, +.form-group .form-input-button input[type="color"]:focus + label, +.form-group .form-input-button input[type="file"]:focus + label, +.form-group > select:focus, +.form-group > input[type="email"]:focus, +.form-group > input[type="number"]:focus, +.form-group > input[type="password"]:focus, +.form-group > input[type="search"]:focus, +.form-group > input[type="tel"]:focus, +.form-group > input[type="text"]:focus, +.form-group > input[type="color"]:focus, +.form-group > input[type="range"]:focus { z-index: 2; } @@ -101,205 +101,313 @@ .form-group .form-group-text:active, .form-group .button:hover, .form-group .button:active, -.form-group .form-input-button input[type="checkbox"]:hover+label, -.form-group .form-input-button input[type="checkbox"]:active+label, -.form-group .form-input-button input[type="radio"]:hover+label, -.form-group .form-input-button input[type="radio"]:active+label, -.form-group .form-input-button input[type="color"]:hover+label, -.form-group .form-input-button input[type="color"]:active+label, -.form-group .form-input-button input[type="file"]:hover+label, -.form-group .form-input-button input[type="file"]:active+label, -.form-group>select:hover, -.form-group>select:active, -.form-group>input[type="email"]:hover, -.form-group>input[type="email"]:active, -.form-group>input[type="number"]:hover, -.form-group>input[type="number"]:active, -.form-group>input[type="password"]:hover, -.form-group>input[type="password"]:active, -.form-group>input[type="search"]:hover, -.form-group>input[type="search"]:active, -.form-group>input[type="tel"]:hover, -.form-group>input[type="tel"]:active, -.form-group>input[type="text"]:hover, -.form-group>input[type="text"]:active, -.form-group>input[type="color"]:hover, -.form-group>input[type="color"]:active, -.form-group>input[type="range"]:hover, -.form-group>input[type="range"]:active { +.form-group .form-input-button input[type="checkbox"]:hover + label, +.form-group .form-input-button input[type="checkbox"]:active + label, +.form-group .form-input-button input[type="radio"]:hover + label, +.form-group .form-input-button input[type="radio"]:active + label, +.form-group .form-input-button input[type="color"]:hover + label, +.form-group .form-input-button input[type="color"]:active + label, +.form-group .form-input-button input[type="file"]:hover + label, +.form-group .form-input-button input[type="file"]:active + label, +.form-group > select:hover, +.form-group > select:active, +.form-group > input[type="email"]:hover, +.form-group > input[type="email"]:active, +.form-group > input[type="number"]:hover, +.form-group > input[type="number"]:active, +.form-group > input[type="password"]:hover, +.form-group > input[type="password"]:active, +.form-group > input[type="search"]:hover, +.form-group > input[type="search"]:active, +.form-group > input[type="tel"]:hover, +.form-group > input[type="tel"]:active, +.form-group > input[type="text"]:hover, +.form-group > input[type="text"]:active, +.form-group > input[type="color"]:hover, +.form-group > input[type="color"]:active, +.form-group > input[type="range"]:hover, +.form-group > input[type="range"]:active { z-index: 3; } -.form-group .form-input-button input[type="checkbox"]:checked+label, -.form-group .form-input-button input[type="radio"]:checked+label, -.form-group .form-input-button input[type="color"]:checked+label, -.form-group .form-input-button input[type="file"]:checked+label { +.form-group .form-input-button input[type="checkbox"]:checked + label, +.form-group .form-input-button input[type="radio"]:checked + label, +.form-group .form-input-button input[type="color"]:checked + label, +.form-group .form-input-button input[type="file"]:checked + label { z-index: 3; } .form-group .button-line:after, -.form-group .form-input-button-line input[type="checkbox"]+label:after, -.form-group .form-input-button-line input[type="radio"]+label:after, -.form-group .form-input-button-line input[type="color"]+label:after, -.form-group .form-input-button-line input[type="file"]+label:after { +.form-group .form-input-button-line input[type="checkbox"] + label:after, +.form-group .form-input-button-line input[type="radio"] + label:after, +.form-group .form-input-button-line input[type="color"] + label:after, +.form-group .form-input-button-line input[type="file"] + label:after { border-radius: 0; } .form-group.form-group-horizontal .form-group-text:first-child, .form-group.form-group-horizontal .button:first-child, .form-group.form-group-horizontal .button-line:first-child:after, -.form-group.form-group-horizontal .form-input-button:first-child input[type="checkbox"]+label, -.form-group.form-group-horizontal .form-input-button:first-child input[type="radio"]+label, -.form-group.form-group-horizontal .form-input-button:first-child input[type="color"]+label, -.form-group.form-group-horizontal .form-input-button:first-child input[type="file"]+label, -.form-group.form-group-horizontal .form-input-button-line:first-child input[type="checkbox"]+label:after, -.form-group.form-group-horizontal .form-input-button-line:first-child input[type="radio"]+label:after, -.form-group.form-group-horizontal .form-input-button-line:first-child input[type="color"]+label:after, -.form-group.form-group-horizontal .form-input-button-line:first-child input[type="file"]+label:after, -.form-group.form-group-horizontal>select:first-child, -.form-group.form-group-horizontal>input[type="email"]:first-child, -.form-group.form-group-horizontal>input[type="number"]:first-child, -.form-group.form-group-horizontal>input[type="password"]:first-child, -.form-group.form-group-horizontal>input[type="search"]:first-child, -.form-group.form-group-horizontal>input[type="tel"]:first-child, -.form-group.form-group-horizontal>input[type="text"]:first-child, -.form-group.form-group-horizontal>input[type="color"]:first-child, -.form-group.form-group-horizontal>input[type="range"]:first-child { - border-radius: calc(var(--theme-radius) * 0.01em) 0 0 calc(var(--theme-radius) * 0.01em); +.form-group.form-group-horizontal + .form-input-button:first-child + input[type="checkbox"] + + label, +.form-group.form-group-horizontal + .form-input-button:first-child + input[type="radio"] + + label, +.form-group.form-group-horizontal + .form-input-button:first-child + input[type="color"] + + label, +.form-group.form-group-horizontal + .form-input-button:first-child + input[type="file"] + + label, +.form-group.form-group-horizontal + .form-input-button-line:first-child + input[type="checkbox"] + + label:after, +.form-group.form-group-horizontal + .form-input-button-line:first-child + input[type="radio"] + + label:after, +.form-group.form-group-horizontal + .form-input-button-line:first-child + input[type="color"] + + label:after, +.form-group.form-group-horizontal + .form-input-button-line:first-child + input[type="file"] + + label:after, +.form-group.form-group-horizontal > select:first-child, +.form-group.form-group-horizontal > input[type="email"]:first-child, +.form-group.form-group-horizontal > input[type="number"]:first-child, +.form-group.form-group-horizontal > input[type="password"]:first-child, +.form-group.form-group-horizontal > input[type="search"]:first-child, +.form-group.form-group-horizontal > input[type="tel"]:first-child, +.form-group.form-group-horizontal > input[type="text"]:first-child, +.form-group.form-group-horizontal > input[type="color"]:first-child, +.form-group.form-group-horizontal > input[type="range"]:first-child { + border-radius: calc(var(--theme-radius) * 0.01em) 0 0 + calc(var(--theme-radius) * 0.01em); } .form-group.form-group-horizontal .form-group-text:last-child, .form-group.form-group-horizontal .button:last-child, .form-group.form-group-horizontal .button-line:last-child:after, -.form-group.form-group-horizontal .form-input-button:last-child input[type="checkbox"]+label, -.form-group.form-group-horizontal .form-input-button:last-child input[type="radio"]+label, -.form-group.form-group-horizontal .form-input-button:last-child input[type="color"]+label, -.form-group.form-group-horizontal .form-input-button:last-child input[type="file"]+label, -.form-group.form-group-horizontal .form-input-button-line:last-child input[type="checkbox"]+label:after, -.form-group.form-group-horizontal .form-input-button-line:last-child input[type="radio"]+label:after, -.form-group.form-group-horizontal .form-input-button-line:last-child input[type="color"]+label:after, -.form-group.form-group-horizontal .form-input-button-line:last-child input[type="file"]+label:after, -.form-group.form-group-horizontal>select:last-child, -.form-group.form-group-horizontal>input[type="email"]:last-child, -.form-group.form-group-horizontal>input[type="number"]:last-child, -.form-group.form-group-horizontal>input[type="password"]:last-child, -.form-group.form-group-horizontal>input[type="search"]:last-child, -.form-group.form-group-horizontal>input[type="tel"]:last-child, -.form-group.form-group-horizontal>input[type="text"]:last-child, -.form-group.form-group-horizontal>input[type="color"]:last-child, -.form-group.form-group-horizontal>input[type="range"]:last-child { - border-radius: 0 calc(var(--theme-radius) * 0.01em) calc(var(--theme-radius) * 0.01em) 0; +.form-group.form-group-horizontal + .form-input-button:last-child + input[type="checkbox"] + + label, +.form-group.form-group-horizontal + .form-input-button:last-child + input[type="radio"] + + label, +.form-group.form-group-horizontal + .form-input-button:last-child + input[type="color"] + + label, +.form-group.form-group-horizontal + .form-input-button:last-child + input[type="file"] + + label, +.form-group.form-group-horizontal + .form-input-button-line:last-child + input[type="checkbox"] + + label:after, +.form-group.form-group-horizontal + .form-input-button-line:last-child + input[type="radio"] + + label:after, +.form-group.form-group-horizontal + .form-input-button-line:last-child + input[type="color"] + + label:after, +.form-group.form-group-horizontal + .form-input-button-line:last-child + input[type="file"] + + label:after, +.form-group.form-group-horizontal > select:last-child, +.form-group.form-group-horizontal > input[type="email"]:last-child, +.form-group.form-group-horizontal > input[type="number"]:last-child, +.form-group.form-group-horizontal > input[type="password"]:last-child, +.form-group.form-group-horizontal > input[type="search"]:last-child, +.form-group.form-group-horizontal > input[type="tel"]:last-child, +.form-group.form-group-horizontal > input[type="text"]:last-child, +.form-group.form-group-horizontal > input[type="color"]:last-child, +.form-group.form-group-horizontal > input[type="range"]:last-child { + border-radius: 0 calc(var(--theme-radius) * 0.01em) + calc(var(--theme-radius) * 0.01em) 0; } .form-group.form-group-vertical .form-group-text:first-child, .form-group.form-group-vertical .button:first-child, .form-group.form-group-vertical .button-line:first-child:after, -.form-group.form-group-vertical .form-input-button:first-child input[type="checkbox"]+label, -.form-group.form-group-vertical .form-input-button:first-child input[type="radio"]+label, -.form-group.form-group-vertical .form-input-button:first-child input[type="color"]+label, -.form-group.form-group-vertical .form-input-button:first-child input[type="file"]+label, -.form-group.form-group-vertical .form-input-button-line:first-child input[type="checkbox"]+label:after, -.form-group.form-group-vertical .form-input-button-line:first-child input[type="radio"]+label:after, -.form-group.form-group-vertical .form-input-button-line:first-child input[type="color"]+label:after, -.form-group.form-group-vertical .form-input-button-line:first-child input[type="file"]+label:after, -.form-group.form-group-vertical>select:first-child, -.form-group.form-group-vertical>input[type="email"]:first-child, -.form-group.form-group-vertical>input[type="number"]:first-child, -.form-group.form-group-vertical>input[type="password"]:first-child, -.form-group.form-group-vertical>input[type="search"]:first-child, -.form-group.form-group-vertical>input[type="tel"]:first-child, -.form-group.form-group-vertical>input[type="text"]:first-child, -.form-group.form-group-vertical>input[type="color"]:first-child, -.form-group.form-group-vertical>input[type="range"]:first-child { - border-radius: calc(var(--theme-radius) * 0.01em) calc(var(--theme-radius) * 0.01em) 0 0; +.form-group.form-group-vertical + .form-input-button:first-child + input[type="checkbox"] + + label, +.form-group.form-group-vertical + .form-input-button:first-child + input[type="radio"] + + label, +.form-group.form-group-vertical + .form-input-button:first-child + input[type="color"] + + label, +.form-group.form-group-vertical + .form-input-button:first-child + input[type="file"] + + label, +.form-group.form-group-vertical + .form-input-button-line:first-child + input[type="checkbox"] + + label:after, +.form-group.form-group-vertical + .form-input-button-line:first-child + input[type="radio"] + + label:after, +.form-group.form-group-vertical + .form-input-button-line:first-child + input[type="color"] + + label:after, +.form-group.form-group-vertical + .form-input-button-line:first-child + input[type="file"] + + label:after, +.form-group.form-group-vertical > select:first-child, +.form-group.form-group-vertical > input[type="email"]:first-child, +.form-group.form-group-vertical > input[type="number"]:first-child, +.form-group.form-group-vertical > input[type="password"]:first-child, +.form-group.form-group-vertical > input[type="search"]:first-child, +.form-group.form-group-vertical > input[type="tel"]:first-child, +.form-group.form-group-vertical > input[type="text"]:first-child, +.form-group.form-group-vertical > input[type="color"]:first-child, +.form-group.form-group-vertical > input[type="range"]:first-child { + border-radius: calc(var(--theme-radius) * 0.01em) + calc(var(--theme-radius) * 0.01em) 0 0; } .form-group.form-group-vertical .form-group-text:last-child, .form-group.form-group-vertical .button:last-child, .form-group.form-group-vertical .button-line:last-child:after, -.form-group.form-group-vertical .form-input-button:last-child input[type="checkbox"]+label, -.form-group.form-group-vertical .form-input-button:last-child input[type="radio"]+label, -.form-group.form-group-vertical .form-input-button:last-child input[type="color"]+label, -.form-group.form-group-vertical .form-input-button:last-child input[type="file"]+label, -.form-group.form-group-vertical .form-input-button-line:last-child input[type="checkbox"]+label:after, -.form-group.form-group-vertical .form-input-button-line:last-child input[type="radio"]+label:after, -.form-group.form-group-vertical .form-input-button-line:last-child input[type="color"]+label:after, -.form-group.form-group-vertical .form-input-button-line:last-child input[type="file"]+label:after, -.form-group.form-group-vertical>select:last-child, -.form-group.form-group-vertical>input[type="email"]:last-child, -.form-group.form-group-vertical>input[type="number"]:last-child, -.form-group.form-group-vertical>input[type="password"]:last-child, -.form-group.form-group-vertical>input[type="search"]:last-child, -.form-group.form-group-vertical>input[type="tel"]:last-child, -.form-group.form-group-vertical>input[type="text"]:last-child, -.form-group.form-group-vertical>input[type="color"]:last-child, -.form-group.form-group-vertical>input[type="range"]:last-child { - border-radius: 0 0 calc(var(--theme-radius) * 0.01em) calc(var(--theme-radius) * 0.01em); +.form-group.form-group-vertical + .form-input-button:last-child + input[type="checkbox"] + + label, +.form-group.form-group-vertical + .form-input-button:last-child + input[type="radio"] + + label, +.form-group.form-group-vertical + .form-input-button:last-child + input[type="color"] + + label, +.form-group.form-group-vertical + .form-input-button:last-child + input[type="file"] + + label, +.form-group.form-group-vertical + .form-input-button-line:last-child + input[type="checkbox"] + + label:after, +.form-group.form-group-vertical + .form-input-button-line:last-child + input[type="radio"] + + label:after, +.form-group.form-group-vertical + .form-input-button-line:last-child + input[type="color"] + + label:after, +.form-group.form-group-vertical + .form-input-button-line:last-child + input[type="file"] + + label:after, +.form-group.form-group-vertical > select:last-child, +.form-group.form-group-vertical > input[type="email"]:last-child, +.form-group.form-group-vertical > input[type="number"]:last-child, +.form-group.form-group-vertical > input[type="password"]:last-child, +.form-group.form-group-vertical > input[type="search"]:last-child, +.form-group.form-group-vertical > input[type="tel"]:last-child, +.form-group.form-group-vertical > input[type="text"]:last-child, +.form-group.form-group-vertical > input[type="color"]:last-child, +.form-group.form-group-vertical > input[type="range"]:last-child { + border-radius: 0 0 calc(var(--theme-radius) * 0.01em) + calc(var(--theme-radius) * 0.01em); } .form-group.form-group-horizontal .form-group-text:only-child, .form-group.form-group-horizontal .button:only-child, .form-group.form-group-horizontal .button-line:only-child:after, -.form-group.form-group-horizontal>select:only-child, -.form-group.form-group-horizontal>input[type="email"]:only-child, -.form-group.form-group-horizontal>input[type="number"]:only-child, -.form-group.form-group-horizontal>input[type="password"]:only-child, -.form-group.form-group-horizontal>input[type="search"]:only-child, -.form-group.form-group-horizontal>input[type="tel"]:only-child, -.form-group.form-group-horizontal>input[type="text"]:only-child, -.form-group.form-group-horizontal>input[type="color"]:only-child, -.form-group.form-group-horizontal>input[type="range"]:only-child, +.form-group.form-group-horizontal > select:only-child, +.form-group.form-group-horizontal > input[type="email"]:only-child, +.form-group.form-group-horizontal > input[type="number"]:only-child, +.form-group.form-group-horizontal > input[type="password"]:only-child, +.form-group.form-group-horizontal > input[type="search"]:only-child, +.form-group.form-group-horizontal > input[type="tel"]:only-child, +.form-group.form-group-horizontal > input[type="text"]:only-child, +.form-group.form-group-horizontal > input[type="color"]:only-child, +.form-group.form-group-horizontal > input[type="range"]:only-child, .form-group.form-group-vertical .form-group-text:only-child, .form-group.form-group-vertical .button:only-child, .form-group.form-group-vertical .button-line:only-child:after, -.form-group.form-group-vertical>select:only-child, -.form-group.form-group-vertical>input[type="email"]:only-child, -.form-group.form-group-vertical>input[type="number"]:only-child, -.form-group.form-group-vertical>input[type="password"]:only-child, -.form-group.form-group-vertical>input[type="search"]:only-child, -.form-group.form-group-vertical>input[type="tel"]:only-child, -.form-group.form-group-vertical>input[type="text"]:only-child, -.form-group.form-group-vertical>input[type="color"]:only-child, -.form-group.form-group-vertical>input[type="range"]:only-child { +.form-group.form-group-vertical > select:only-child, +.form-group.form-group-vertical > input[type="email"]:only-child, +.form-group.form-group-vertical > input[type="number"]:only-child, +.form-group.form-group-vertical > input[type="password"]:only-child, +.form-group.form-group-vertical > input[type="search"]:only-child, +.form-group.form-group-vertical > input[type="tel"]:only-child, +.form-group.form-group-vertical > input[type="text"]:only-child, +.form-group.form-group-vertical > input[type="color"]:only-child, +.form-group.form-group-vertical > input[type="range"]:only-child { border-radius: calc(var(--theme-radius) * 0.01em); } .form-group.form-group-nested-button * .button, .form-group.form-group-nested-button * .button-line:after, -.form-group.form-group-nested-button * input[type="checkbox"]+label, -.form-group.form-group-nested-button * input[type="radio"]+label, -.form-group.form-group-nested-button * input[type="color"]+label { +.form-group.form-group-nested-button * input[type="checkbox"] + label, +.form-group.form-group-nested-button * input[type="radio"] + label, +.form-group.form-group-nested-button * input[type="color"] + label { border-radius: 0; } .form-group.form-group-nested-button *:first-child .button, .form-group.form-group-nested-button *:first-child .button-line:after, -.form-group.form-group-nested-button *:first-child input[type="checkbox"]+label, -.form-group.form-group-nested-button *:first-child input[type="radio"]+label, -.form-group.form-group-nested-button *:first-child input[type="color"]+label { - border-radius: calc(var(--theme-radius) * 0.01em) 0 0 calc(var(--theme-radius) * 0.01em); +.form-group.form-group-nested-button + *:first-child + input[type="checkbox"] + + label, +.form-group.form-group-nested-button *:first-child input[type="radio"] + label, +.form-group.form-group-nested-button *:first-child input[type="color"] + label { + border-radius: calc(var(--theme-radius) * 0.01em) 0 0 + calc(var(--theme-radius) * 0.01em); } .form-group.form-group-nested-button *:last-child .button, .form-group.form-group-nested-button *:last-child .button-line:after, -.form-group.form-group-nested-button *:last-child input[type="checkbox"]+label, -.form-group.form-group-nested-button *:last-child input[type="radio"]+label, -.form-group.form-group-nested-button *:last-child input[type="color"]+label { - border-radius: 0 calc(var(--theme-radius) * 0.01em) calc(var(--theme-radius) * 0.01em) 0; +.form-group.form-group-nested-button + *:last-child + input[type="checkbox"] + + label, +.form-group.form-group-nested-button *:last-child input[type="radio"] + label, +.form-group.form-group-nested-button *:last-child input[type="color"] + label { + border-radius: 0 calc(var(--theme-radius) * 0.01em) + calc(var(--theme-radius) * 0.01em) 0; } .form-group .form-group-radius-left.form-group-text, .form-group .form-group-radius-left.button, .form-group .form-group-radius-left.button-line:after, -.form-group>select.form-group-radius-left, -.form-group>input.form-group-radius-left[type="email"], -.form-group>input.form-group-radius-left[type="number"], -.form-group>input.form-group-radius-left[type="password"], -.form-group>input.form-group-radius-left[type="search"], -.form-group>input.form-group-radius-left[type="tel"], -.form-group>input.form-group-radius-left[type="text"], -.form-group>input.form-group-radius-left[type="color"], -.form-group>input.form-group-radius-left[type="range"] { +.form-group > select.form-group-radius-left, +.form-group > input.form-group-radius-left[type="email"], +.form-group > input.form-group-radius-left[type="number"], +.form-group > input.form-group-radius-left[type="password"], +.form-group > input.form-group-radius-left[type="search"], +.form-group > input.form-group-radius-left[type="tel"], +.form-group > input.form-group-radius-left[type="text"], +.form-group > input.form-group-radius-left[type="color"], +.form-group > input.form-group-radius-left[type="range"] { border-top-left-radius: calc(var(--theme-radius) * 0.01em); border-bottom-left-radius: calc(var(--theme-radius) * 0.01em); } @@ -307,15 +415,15 @@ .form-group .form-group-radius-right.form-group-text, .form-group .form-group-radius-right.button, .form-group .form-group-radius-right.butbutton-lineton:after, -.form-group>select.form-group-radius-right, -.form-group>input.form-group-radius-right[type="email"], -.form-group>input.form-group-radius-right[type="number"], -.form-group>input.form-group-radius-right[type="password"], -.form-group>input.form-group-radius-right[type="search"], -.form-group>input.form-group-radius-right[type="tel"], -.form-group>input.form-group-radius-right[type="text"], -.form-group>input.form-group-radius-right[type="color"], -.form-group>input.form-group-radius-right[type="range"] { +.form-group > select.form-group-radius-right, +.form-group > input.form-group-radius-right[type="email"], +.form-group > input.form-group-radius-right[type="number"], +.form-group > input.form-group-radius-right[type="password"], +.form-group > input.form-group-radius-right[type="search"], +.form-group > input.form-group-radius-right[type="tel"], +.form-group > input.form-group-radius-right[type="text"], +.form-group > input.form-group-radius-right[type="color"], +.form-group > input.form-group-radius-right[type="range"] { border-top-right-radius: calc(var(--theme-radius) * 0.01em); border-bottom-right-radius: calc(var(--theme-radius) * 0.01em); } @@ -323,86 +431,169 @@ .form-group.form-group-reverse .form-group-text:first-child, .form-group.form-group-reverse .button:first-child, .form-group.form-group-reverse .button-line:first-child:after, -.form-group.form-group-reverse .form-input-button:first-child input[type="checkbox"]+label, -.form-group.form-group-reverse .form-input-button:first-child input[type="radio"]+label, -.form-group.form-group-reverse .form-input-button:first-child input[type="color"]+label, -.form-group.form-group-reverse .form-input-button:first-child input[type="file"]+label, -.form-group.form-group-reverse .form-input-button-line:first-child input[type="checkbox"]+label:after, -.form-group.form-group-reverse .form-input-button-line:first-child input[type="radio"]+label:after, -.form-group.form-group-reverse .form-input-button-line:first-child input[type="color"]+label:after, -.form-group.form-group-reverse .form-input-button-line:first-child input[type="file"]+label:after, -.form-group.form-group-reverse>select:first-child, -.form-group.form-group-reverse>input[type="email"]:first-child, -.form-group.form-group-reverse>input[type="number"]:first-child, -.form-group.form-group-reverse>input[type="password"]:first-child, -.form-group.form-group-reverse>input[type="search"]:first-child, -.form-group.form-group-reverse>input[type="tel"]:first-child, -.form-group.form-group-reverse>input[type="text"]:first-child, -.form-group.form-group-reverse>input[type="color"]:first-child, -.form-group.form-group-reverse>input[type="range"]:first-child { - border-radius: 0 calc(var(--theme-radius) * 0.01em) calc(var(--theme-radius) * 0.01em) 0; +.form-group.form-group-reverse + .form-input-button:first-child + input[type="checkbox"] + + label, +.form-group.form-group-reverse + .form-input-button:first-child + input[type="radio"] + + label, +.form-group.form-group-reverse + .form-input-button:first-child + input[type="color"] + + label, +.form-group.form-group-reverse + .form-input-button:first-child + input[type="file"] + + label, +.form-group.form-group-reverse + .form-input-button-line:first-child + input[type="checkbox"] + + label:after, +.form-group.form-group-reverse + .form-input-button-line:first-child + input[type="radio"] + + label:after, +.form-group.form-group-reverse + .form-input-button-line:first-child + input[type="color"] + + label:after, +.form-group.form-group-reverse + .form-input-button-line:first-child + input[type="file"] + + label:after, +.form-group.form-group-reverse > select:first-child, +.form-group.form-group-reverse > input[type="email"]:first-child, +.form-group.form-group-reverse > input[type="number"]:first-child, +.form-group.form-group-reverse > input[type="password"]:first-child, +.form-group.form-group-reverse > input[type="search"]:first-child, +.form-group.form-group-reverse > input[type="tel"]:first-child, +.form-group.form-group-reverse > input[type="text"]:first-child, +.form-group.form-group-reverse > input[type="color"]:first-child, +.form-group.form-group-reverse > input[type="range"]:first-child { + border-radius: 0 calc(var(--theme-radius) * 0.01em) + calc(var(--theme-radius) * 0.01em) 0; } .form-group.form-group-reverse .form-group-text:last-child, .form-group.form-group-reverse .button:last-child, .form-group.form-group-reverse .button-line:last-child:after, -.form-group.form-group-reverse .form-input-button:last-child input[type="checkbox"]+label, -.form-group.form-group-reverse .form-input-button:last-child input[type="radio"]+label, -.form-group.form-group-reverse .form-input-button:last-child input[type="color"]+label, -.form-group.form-group-reverse .form-input-button:last-child input[type="file"]+label, -.form-group.form-group-reverse .form-input-button-line:last-child input[type="checkbox"]+label:after, -.form-group.form-group-reverse .form-input-button-line:last-child input[type="radio"]+label:after, -.form-group.form-group-reverse .form-input-button-line:last-child input[type="color"]+label:after, -.form-group.form-group-reverse .form-input-button-line:last-child input[type="file"]+label:after, -.form-group.form-group-reverse>select:last-child, -.form-group.form-group-reverse>input[type="email"]:last-child, -.form-group.form-group-reverse>input[type="number"]:last-child, -.form-group.form-group-reverse>input[type="password"]:last-child, -.form-group.form-group-reverse>input[type="search"]:last-child, -.form-group.form-group-reverse>input[type="tel"]:last-child, -.form-group.form-group-reverse>input[type="text"]:last-child, -.form-group.form-group-reverse>input[type="color"]:last-child, -.form-group.form-group-reverse>input[type="range"]:last-child { - border-radius: calc(var(--theme-radius) * 0.01em) 0 0 calc(var(--theme-radius) * 0.01em); +.form-group.form-group-reverse + .form-input-button:last-child + input[type="checkbox"] + + label, +.form-group.form-group-reverse + .form-input-button:last-child + input[type="radio"] + + label, +.form-group.form-group-reverse + .form-input-button:last-child + input[type="color"] + + label, +.form-group.form-group-reverse + .form-input-button:last-child + input[type="file"] + + label, +.form-group.form-group-reverse + .form-input-button-line:last-child + input[type="checkbox"] + + label:after, +.form-group.form-group-reverse + .form-input-button-line:last-child + input[type="radio"] + + label:after, +.form-group.form-group-reverse + .form-input-button-line:last-child + input[type="color"] + + label:after, +.form-group.form-group-reverse + .form-input-button-line:last-child + input[type="file"] + + label:after, +.form-group.form-group-reverse > select:last-child, +.form-group.form-group-reverse > input[type="email"]:last-child, +.form-group.form-group-reverse > input[type="number"]:last-child, +.form-group.form-group-reverse > input[type="password"]:last-child, +.form-group.form-group-reverse > input[type="search"]:last-child, +.form-group.form-group-reverse > input[type="tel"]:last-child, +.form-group.form-group-reverse > input[type="text"]:last-child, +.form-group.form-group-reverse > input[type="color"]:last-child, +.form-group.form-group-reverse > input[type="range"]:last-child { + border-radius: calc(var(--theme-radius) * 0.01em) 0 0 + calc(var(--theme-radius) * 0.01em); } .form-group.form-group-reverse .form-group-text:only-child, .form-group.form-group-reverse .button:only-child, .form-group.form-group-reverse .button-line:only-child:after, -.form-group.form-group-reverse>select:only-child, -.form-group.form-group-reverse>input[type="email"]:only-child, -.form-group.form-group-reverse>input[type="number"]:only-child, -.form-group.form-group-reverse>input[type="password"]:only-child, -.form-group.form-group-reverse>input[type="search"]:only-child, -.form-group.form-group-reverse>input[type="tel"]:only-child, -.form-group.form-group-reverse>input[type="text"]:only-child, -.form-group.form-group-reverse>input[type="color"]:only-child, -.form-group.form-group-reverse>input[type="range"]:only-child { +.form-group.form-group-reverse > select:only-child, +.form-group.form-group-reverse > input[type="email"]:only-child, +.form-group.form-group-reverse > input[type="number"]:only-child, +.form-group.form-group-reverse > input[type="password"]:only-child, +.form-group.form-group-reverse > input[type="search"]:only-child, +.form-group.form-group-reverse > input[type="tel"]:only-child, +.form-group.form-group-reverse > input[type="text"]:only-child, +.form-group.form-group-reverse > input[type="color"]:only-child, +.form-group.form-group-reverse > input[type="range"]:only-child { border-radius: calc(var(--theme-radius) * 0.01em); } .form-group.form-group-reverse.form-group-nested-button * .button, .form-group.form-group-reverse.form-group-nested-button * .button-line:after, -.form-group.form-group-reverse.form-group-nested-button * input[type="checkbox"]+label, -.form-group.form-group-reverse.form-group-nested-button * input[type="radio"]+label, -.form-group.form-group-reverse.form-group-nested-button * input[type="color"]+label { +.form-group.form-group-reverse.form-group-nested-button + * + input[type="checkbox"] + + label, +.form-group.form-group-reverse.form-group-nested-button + * + input[type="radio"] + + label, +.form-group.form-group-reverse.form-group-nested-button + * + input[type="color"] + + label { border-radius: 0; } .form-group.form-group-reverse.form-group-nested-button *:first-child .button, -.form-group.form-group-reverse.form-group-nested-button *:first-child .button-line:after, -.form-group.form-group-reverse.form-group-nested-button *:first-child input[type="checkbox"]+label, -.form-group.form-group-reverse.form-group-nested-button *:first-child input[type="radio"]+label, -.form-group.form-group-reverse.form-group-nested-button *:first-child input[type="color"]+label { - border-radius: 0 calc(var(--theme-radius) * 0.01em) calc(var(--theme-radius) * 0.01em) 0; +.form-group.form-group-reverse.form-group-nested-button + *:first-child + .button-line:after, +.form-group.form-group-reverse.form-group-nested-button + *:first-child + input[type="checkbox"] + + label, +.form-group.form-group-reverse.form-group-nested-button + *:first-child + input[type="radio"] + + label, +.form-group.form-group-reverse.form-group-nested-button + *:first-child + input[type="color"] + + label { + border-radius: 0 calc(var(--theme-radius) * 0.01em) + calc(var(--theme-radius) * 0.01em) 0; } .form-group.form-group-reverse.form-group-nested-button *:last-child .button, -.form-group.form-group-reverse.form-group-nested-button *:last-child .button-line:after, -.form-group.form-group-reverse.form-group-nested-button *:last-child input[type="checkbox"]+label, -.form-group.form-group-reverse.form-group-nested-button *:last-child input[type="radio"]+label, -.form-group.form-group-reverse.form-group-nested-button *:last-child input[type="color"]+label { - border-radius: calc(var(--theme-radius) * 0.01em) 0 0 calc(var(--theme-radius) * 0.01em); +.form-group.form-group-reverse.form-group-nested-button + *:last-child + .button-line:after, +.form-group.form-group-reverse.form-group-nested-button + *:last-child + input[type="checkbox"] + + label, +.form-group.form-group-reverse.form-group-nested-button + *:last-child + input[type="radio"] + + label, +.form-group.form-group-reverse.form-group-nested-button + *:last-child + input[type="color"] + + label { + border-radius: calc(var(--theme-radius) * 0.01em) 0 0 + calc(var(--theme-radius) * 0.01em); } .form-group-border { @@ -420,88 +611,100 @@ .form-group.form-group-border .form-group-text, .form-group.form-group-border .button, .form-group.form-group-border .button-line:after, -.form-group.form-group-border>select, -.form-group.form-group-border>input[type="email"], -.form-group.form-group-border>input[type="number"], -.form-group.form-group-border>input[type="password"], -.form-group.form-group-border>input[type="search"], -.form-group.form-group-border>input[type="tel"], -.form-group.form-group-border>input[type="text"], -.form-group.form-group-border>input[type="color"], -.form-group.form-group-border>input[type="range"], +.form-group.form-group-border > select, +.form-group.form-group-border > input[type="email"], +.form-group.form-group-border > input[type="number"], +.form-group.form-group-border > input[type="password"], +.form-group.form-group-border > input[type="search"], +.form-group.form-group-border > input[type="tel"], +.form-group.form-group-border > input[type="text"], +.form-group.form-group-border > input[type="color"], +.form-group.form-group-border > input[type="range"], .form-group.form-group-border.form-group-nested-button * .button, .form-group.form-group-border.form-group-nested-button * .button-line:after, -.form-group.form-group-border.form-group-nested-button * input[type="checkbox"]+label, -.form-group.form-group-border.form-group-nested-button * input[type="radio"]+label, -.form-group.form-group-border.form-group-nested-button * input[type="file"]+label, -.form-group.form-group-border.form-group-nested-button * input[type="color"]+label { +.form-group.form-group-border.form-group-nested-button + * + input[type="checkbox"] + + label, +.form-group.form-group-border.form-group-nested-button + * + input[type="radio"] + + label, +.form-group.form-group-border.form-group-nested-button + * + input[type="file"] + + label, +.form-group.form-group-border.form-group-nested-button + * + input[type="color"] + + label { border-radius: 0; } .form-group-item-small, .form-group-item-medium, .form-group-item-large, -.form-group>.button.form-group-item-small, -.form-group>.button.form-group-item-medium, -.form-group>.button.form-group-item-large, -.form-group>select.form-group-item-small, -.form-group>select.form-group-item-medium, -.form-group>select.form-group-item-large, -.form-group>input[type].form-group-item-small, -.form-group>input[type].form-group-item-medium, -.form-group>input[type].form-group-item-large { +.form-group > .button.form-group-item-small, +.form-group > .button.form-group-item-medium, +.form-group > .button.form-group-item-large, +.form-group > select.form-group-item-small, +.form-group > select.form-group-item-medium, +.form-group > select.form-group-item-large, +.form-group > input[type].form-group-item-small, +.form-group > input[type].form-group-item-medium, +.form-group > input[type].form-group-item-large { padding-left: 0.5em; padding-right: 0.5em; } .form-group-item-small, -.form-group>.button.form-group-item-small, -.form-group>select.form-group-item-small, -.form-group>input[type].form-group-item-small { +.form-group > .button.form-group-item-small, +.form-group > select.form-group-item-small, +.form-group > input[type].form-group-item-small { width: 4em; flex-shrink: 0; } .form-group-item-medium, -.form-group>.button.form-group-item-medium, -.form-group>select.form-group-item-medium, -.form-group>input[type].form-group-item-medium { +.form-group > .button.form-group-item-medium, +.form-group > select.form-group-item-medium, +.form-group > input[type].form-group-item-medium { width: 6em; flex-shrink: 0; } .form-group-item-large, -.form-group>.button.form-group-item-large, -.form-group>select.form-group-item-large, -.form-group>input[type].form-group-item-large { +.form-group > .button.form-group-item-large, +.form-group > select.form-group-item-large, +.form-group > input[type].form-group-item-large { width: 8em; flex-shrink: 0; } .form-group-item-shrink, -.form-group>.button.form-group-item-shrink, -.form-group>select.form-group-item-shrink, -.form-group>input[type].form-group-item-shrink { +.form-group > .button.form-group-item-shrink, +.form-group > select.form-group-item-shrink, +.form-group > input[type].form-group-item-shrink { flex-grow: 0; } .form-group-item-grow, -.form-group>.button.form-group-item-grow, -.form-group>select.form-group-item-grow, -.form-group>input[type].form-group-item-grow { +.form-group > .button.form-group-item-grow, +.form-group > select.form-group-item-grow, +.form-group > input[type].form-group-item-grow { flex-grow: 1; } .form-group-item-half, -.form-group>.button.form-group-item-half, -.form-group>select.form-group-item-half, -.form-group>input[type].form-group-item-half { +.form-group > .button.form-group-item-half, +.form-group > select.form-group-item-half, +.form-group > input[type].form-group-item-half { flex-basis: 50%; } .form-group-item-equal, -.form-group>.button.form-group-item-equal, -.form-group>select.form-group-item-equal, -.form-group>input[type].form-group-item-equal { +.form-group > .button.form-group-item-equal, +.form-group > select.form-group-item-equal, +.form-group > input[type].form-group-item-equal { flex-basis: 0; } diff --git a/src/component/form/group/index.js b/src/component/form/group/index.js index d3741f5f..304d948c 100644 --- a/src/component/form/group/index.js +++ b/src/component/form/group/index.js @@ -8,9 +8,8 @@ export const group = function ({ block = false, border = false, children = false, - justify = 'left' + justify = 'left', } = {}) { - const group = node('div|class:form-group', children); switch (direction) { @@ -36,7 +35,6 @@ export const group = function ({ } switch (justify) { - case 'left': group.classList.add('form-group-justify-left'); break; @@ -48,9 +46,7 @@ export const group = function ({ case 'space-between': group.classList.add('form-group-justify-space-between'); break; - } return group; - }; diff --git a/src/component/form/groupText/index.css b/src/component/form/groupText/index.css index 35783774..bd7960f1 100644 --- a/src/component/form/groupText/index.css +++ b/src/component/form/groupText/index.css @@ -28,7 +28,9 @@ border-style: solid; border-radius: calc(var(--theme-radius) * 0.01em); white-space: nowrap; - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast); } .form-group-text:hover, diff --git a/src/component/form/groupText/index.js b/src/component/form/groupText/index.js index e5e9ae6f..9da69c90 100644 --- a/src/component/form/groupText/index.js +++ b/src/component/form/groupText/index.js @@ -2,11 +2,7 @@ import { node } from '../../../utility/node'; import './index.css'; -export const groupText = ({ - text = false, - classList = [] -} = {}) => { - +export const groupText = ({ text = false, classList = [] } = {}) => { const textElement = node('div|class:form-group-text,tabindex:1'); if (text) { @@ -14,13 +10,10 @@ export const groupText = ({ } if (classList.length > 0) { - classList.forEach((item) => { textElement.classList.add(item); }); - } return textElement; - }; diff --git a/src/component/form/helper/index.js b/src/component/form/helper/index.js index bccc5a4b..a476a341 100644 --- a/src/component/form/helper/index.js +++ b/src/component/form/helper/index.js @@ -5,35 +5,25 @@ import './index.css'; export const helper = function ({ text = 'text', complexText = false, - classList = [] + classList = [], } = {}) { - const helper = node('p|class:form-helper-item'); if (text) { - if (complexText) { - helper.innerHTML = text; - } else { - let textNode = document.createTextNode(text); helper.appendChild(textNode); - } - } if (classList.length > 0) { - classList.forEach((item) => { helper.classList.add(item); }); - } return helper; - }; diff --git a/src/component/form/indent/index.js b/src/component/form/indent/index.js index ff61d16d..701cf6ab 100644 --- a/src/component/form/indent/index.js +++ b/src/component/form/indent/index.js @@ -2,10 +2,6 @@ import { node } from '../../../utility/node'; import './index.css'; -export const indent = ({ - children = false -} = {}) => { - +export const indent = ({ children = false } = {}) => { return node('div|class:form-indent', children); - }; diff --git a/src/component/form/index.css b/src/component/form/index.css index efa984e6..acfb89d4 100644 --- a/src/component/form/index.css +++ b/src/component/form/index.css @@ -9,10 +9,12 @@ } :root { - --form-ring-hover: 0 0 0 var(--layout-line-width) hsl(var(--theme-primary-080)); - --form-ring-focus: - 0 0 0 var(--layout-line-width) hsl(var(--theme-primary-090)), - 0 0 0 calc(var(--layout-line-width) * 2) hsla(var(--theme-primary-090), 0.25); + --form-ring-hover: 0 0 0 var(--layout-line-width) + hsl(var(--theme-primary-080)); + --form-ring-focus: 0 0 0 var(--layout-line-width) + hsl(var(--theme-primary-090)), + 0 0 0 calc(var(--layout-line-width) * 2) + hsla(var(--theme-primary-090), 0.25); --form-ring-accent: 0 0 0 var(--layout-line-width) rgb(var(--theme-accent)), 0 0 0 calc(var(--layout-line-width) * 2) rgba(var(--theme-accent), 0.25); } diff --git a/src/component/form/index.js b/src/component/form/index.js index aef59c37..d1234b42 100644 --- a/src/component/form/index.js +++ b/src/component/form/index.js @@ -26,5 +26,5 @@ export { label, sticky, wrap, - input + input, }; diff --git a/src/component/form/inline/index.js b/src/component/form/inline/index.js index 47eebd03..53a31111 100644 --- a/src/component/form/inline/index.js +++ b/src/component/form/inline/index.js @@ -10,9 +10,8 @@ export const inline = function ({ justify = 'left', gap = 'medium', equalGap = false, - children = false + children = false, } = {}) { - const inline = node('div|class:form-inline', children); switch (direction) { @@ -26,7 +25,6 @@ export const inline = function ({ } switch (gap) { - case 'small': inline.classList.add('form-inline-gap-small'); break; @@ -38,7 +36,6 @@ export const inline = function ({ case 'large': inline.classList.add('form-inline-gap-large'); break; - } if (equalGap) { @@ -46,7 +43,6 @@ export const inline = function ({ } switch (justify) { - case 'left': inline.classList.add('form-inline-justify-left'); break; @@ -58,7 +54,6 @@ export const inline = function ({ case 'right': inline.classList.add('form-inline-justify-right'); break; - } if (reverse) { @@ -74,5 +69,4 @@ export const inline = function ({ } return inline; - }; diff --git a/src/component/form/input/checkbox/index.css b/src/component/form/input/checkbox/index.css index 8a43607d..f1555b04 100644 --- a/src/component/form/input/checkbox/index.css +++ b/src/component/form/input/checkbox/index.css @@ -14,7 +14,7 @@ input[type="checkbox"] { transition: color var(--layout-transition-extra-fast); } -input[type="checkbox"]+label { +input[type="checkbox"] + label { padding: 0; margin: 0; font-size: 1em; @@ -28,30 +28,31 @@ input[type="checkbox"]+label { flex-direction: row; justify-content: flex-start; align-items: flex-start; - transition: transform var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast); + transition: transform var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast); } -input[type="checkbox"]:hover+label, -input[type="checkbox"]:focus+label { +input[type="checkbox"]:hover + label, +input[type="checkbox"]:focus + label { color: hsl(var(--form-label-hover)); } -input[type="checkbox"]:active+label { +input[type="checkbox"]:active + label { color: hsl(var(--form-label-focus-active)); } -input[type="checkbox"]:checked+label { +input[type="checkbox"]:checked + label { color: hsl(var(--form-label-checked)); } -input[type="checkbox"]:disabled+label, -input[type="checkbox"]:disabled:hover+label, -input[type="checkbox"]:disabled:focus+label { +input[type="checkbox"]:disabled + label, +input[type="checkbox"]:disabled:hover + label, +input[type="checkbox"]:disabled:focus + label { color: hsl(var(--form-label-disabled)); cursor: default; } -input[type="checkbox"]+label .label-icon { +input[type="checkbox"] + label .label-icon { background-color: hsl(var(--form-icon)); width: var(--form-thumb); height: var(--form-thumb); @@ -62,45 +63,46 @@ input[type="checkbox"]+label .label-icon { flex-shrink: 0; z-index: 1; box-shadow: none; - transition: background-color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); } -input[type="checkbox"]+label .label-icon { +input[type="checkbox"] + label .label-icon { border-radius: 0.25em; } -input[type="checkbox"]:hover+label .label-icon, -input[type="checkbox"]:focus+label .label-icon { +input[type="checkbox"]:hover + label .label-icon, +input[type="checkbox"]:focus + label .label-icon { background-color: hsl(var(--form-icon-hover)); box-shadow: var(--form-ring-hover); } -input[type="checkbox"]:active+label .label-icon { +input[type="checkbox"]:active + label .label-icon { background-color: hsl(var(--form-icon-active)); box-shadow: var(--form-ring-accent); transition: none; } -input[type="checkbox"]:checked+label .label-icon { +input[type="checkbox"]:checked + label .label-icon { background-color: hsl(var(--form-icon-checked)); } -input[type="checkbox"]:checked:focus+label .label-icon, -input[type="checkbox"]:checked:active+label .label-icon { +input[type="checkbox"]:checked:focus + label .label-icon, +input[type="checkbox"]:checked:active + label .label-icon { box-shadow: var(--form-ring-accent); } -input[type="checkbox"]:disabled+label .label-icon, -input[type="checkbox"]:disabled:hover+label .label-icon, -input[type="checkbox"]:disabled:focus+label .label-icon, -input[type="checkbox"]:checked:disabled+label .label-icon, -input[type="checkbox"]:checked:disabled:hover+label .label-icon, -input[type="checkbox"]:checked:disabled:focus+label .label-icon { +input[type="checkbox"]:disabled + label .label-icon, +input[type="checkbox"]:disabled:hover + label .label-icon, +input[type="checkbox"]:disabled:focus + label .label-icon, +input[type="checkbox"]:checked:disabled + label .label-icon, +input[type="checkbox"]:checked:disabled:hover + label .label-icon, +input[type="checkbox"]:checked:disabled:focus + label .label-icon { background-color: hsl(var(--form-icon-disabled)); box-shadow: none; } -input[type="checkbox"]+label .label-icon:before { +input[type="checkbox"] + label .label-icon:before { content: ""; background-color: hsl(var(--form-icon-symbol)); width: 100%; @@ -112,39 +114,41 @@ input[type="checkbox"]+label .label-icon:before { transform: scale(0.7); transform-origin: center; z-index: 2; - transition: background-color var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast), transform var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast), + transform var(--layout-transition-extra-fast); } -input[type="checkbox"]+label .label-icon:before { +input[type="checkbox"] + label .label-icon:before { border-radius: 0.1em; } -input[type="checkbox"]:active+label .label-icon:before { +input[type="checkbox"]:active + label .label-icon:before { background-color: hsl(var(--form-icon-symbol-active)); transition: none; } -input[type="checkbox"]:checked+label .label-icon:before { +input[type="checkbox"]:checked + label .label-icon:before { background-color: hsl(var(--form-icon-symbol-active)); border-radius: 50%; } -input[type="checkbox"]:checked+label .label-icon:before { +input[type="checkbox"]:checked + label .label-icon:before { transform: scale(0); } -input[type="checkbox"]:disabled+label .label-icon:before, -input[type="checkbox"]:disabled:hover+label .label-icon:before, -input[type="checkbox"]:disabled:focus+label .label-icon:before, -input[type="checkbox"]:disabled:active+label .label-icon:before, -input[type="checkbox"]:checked:disabled+label .label-icon:before, -input[type="checkbox"]:checked:disabled:hover+label .label-icon:before, -input[type="checkbox"]:checked:disabled:focus+label .label-icon:before, -input[type="checkbox"]:checked:disabled:active+label .label-icon:before { +input[type="checkbox"]:disabled + label .label-icon:before, +input[type="checkbox"]:disabled:hover + label .label-icon:before, +input[type="checkbox"]:disabled:focus + label .label-icon:before, +input[type="checkbox"]:disabled:active + label .label-icon:before, +input[type="checkbox"]:checked:disabled + label .label-icon:before, +input[type="checkbox"]:checked:disabled:hover + label .label-icon:before, +input[type="checkbox"]:checked:disabled:focus + label .label-icon:before, +input[type="checkbox"]:checked:disabled:active + label .label-icon:before { background-color: hsl(var(--form-icon-symbol-disabled)); } -input[type="checkbox"]+label .label-icon:after { +input[type="checkbox"] + label .label-icon:after { content: ""; background-color: hsl(var(--form-icon-symbol)); width: 100%; @@ -160,75 +164,75 @@ input[type="checkbox"]+label .label-icon:after { clip-path: polygon(7% 56%, 37% 86%, 95% 27%, 84% 16%, 37% 64%, 18% 45%); } -input[type="checkbox"]:checked+label .label-icon:after { +input[type="checkbox"]:checked + label .label-icon:after { background-color: hsl(var(--form-icon-symbol-active)); transform: scale(0.8); } -input[type="checkbox"]:disabled+label .label-icon:after, -input[type="checkbox"]:disabled:hover+label .label-icon:after, -input[type="checkbox"]:disabled:focus+label .label-icon:after, -input[type="checkbox"]:disabled:active+label .label-icon:after, -input[type="checkbox"]:checked:disabled+label .label-icon:after, -input[type="checkbox"]:checked:disabled:hover+label .label-icon:after, -input[type="checkbox"]:checked:disabled:focus+label .label-icon:after, -input[type="checkbox"]:checked:disabled:active+label .label-icon:after { +input[type="checkbox"]:disabled + label .label-icon:after, +input[type="checkbox"]:disabled:hover + label .label-icon:after, +input[type="checkbox"]:disabled:focus + label .label-icon:after, +input[type="checkbox"]:disabled:active + label .label-icon:after, +input[type="checkbox"]:checked:disabled + label .label-icon:after, +input[type="checkbox"]:checked:disabled:hover + label .label-icon:after, +input[type="checkbox"]:checked:disabled:focus + label .label-icon:after, +input[type="checkbox"]:checked:disabled:active + label .label-icon:after { background-color: hsl(var(--form-icon-symbol-disabled)); } -input[type="checkbox"]+label .label-block-item { +input[type="checkbox"] + label .label-block-item { color: hsl(var(--form-label)); transition: color var(--layout-transition-extra-fast); } -input[type="checkbox"]:hover+label .label-block-item, -input[type="checkbox"]:focus+label .label-block-item { +input[type="checkbox"]:hover + label .label-block-item, +input[type="checkbox"]:focus + label .label-block-item { color: hsl(var(--form-label-hover)); } -input[type="checkbox"]:active+label .label-block-item { +input[type="checkbox"]:active + label .label-block-item { color: hsl(var(--form-label-focus-active)); } -input[type="checkbox"]:checked+label .label-block-item { +input[type="checkbox"]:checked + label .label-block-item { color: hsl(var(--form-label-checked)); } -input[type="checkbox"]:disabled+label .label-block-item, -input[type="checkbox"]:disabled:hover+label .label-block-item, -input[type="checkbox"]:disabled:focus+label .label-block-item { +input[type="checkbox"]:disabled + label .label-block-item, +input[type="checkbox"]:disabled:hover + label .label-block-item, +input[type="checkbox"]:disabled:focus + label .label-block-item { color: hsl(var(--form-label-disabled)); cursor: default; } -input[type="checkbox"]+label .label-block-item.muted { +input[type="checkbox"] + label .label-block-item.muted { color: hsl(var(--utility-muted)); transition: color var(--layout-transition-extra-fast); } -input[type="checkbox"]:hover+label .label-block-item.muted, -input[type="checkbox"]:focus+label .label-block-item.muted { +input[type="checkbox"]:hover + label .label-block-item.muted, +input[type="checkbox"]:focus + label .label-block-item.muted { color: hsl(var(--utility-muted-hover)); } -input[type="checkbox"]:active+label .label-block-item.muted { +input[type="checkbox"]:active + label .label-block-item.muted { color: hsl(var(--utility-muted-focus-active)); } -input[type="checkbox"]:checked+label .label-block-item.muted { +input[type="checkbox"]:checked + label .label-block-item.muted { color: hsl(var(--utility-muted-checked)); } -input[type="checkbox"]:disabled+label .label-block-item.muted, -input[type="checkbox"]:disabled:hover+label .label-block-item.muted, -input[type="checkbox"]:disabled:focus+label .label-block-item.muted { +input[type="checkbox"]:disabled + label .label-block-item.muted, +input[type="checkbox"]:disabled:hover + label .label-block-item.muted, +input[type="checkbox"]:disabled:focus + label .label-block-item.muted { color: hsl(var(--utility-muted-disabled)); cursor: default; } -input[type="checkbox"]:disabled+label .label-block-item, -input[type="checkbox"]:disabled:hover+label .label-block-item, -input[type="checkbox"]:disabled:focus+label .label-block-item { +input[type="checkbox"]:disabled + label .label-block-item, +input[type="checkbox"]:disabled:hover + label .label-block-item, +input[type="checkbox"]:disabled:focus + label .label-block-item { color: hsl(var(--form-label-disabled)); cursor: default; } diff --git a/src/component/form/input/checkbox/index.js b/src/component/form/input/checkbox/index.js index b26cec74..79260c9f 100644 --- a/src/component/form/input/checkbox/index.js +++ b/src/component/form/input/checkbox/index.js @@ -7,9 +7,8 @@ export const checkbox = ({ value = false, checked = false, classList = [], - func = false + func = false, } = {}) => { - const input = node('input|type:checkbox,tabindex:1'); if (id) { @@ -25,21 +24,16 @@ export const checkbox = ({ } if (classList.length > 0) { - classList.forEach((item) => { input.classList.add(item); }); - } if (func) { - input.addEventListener('change', () => { func(); }); - } return input; - }; diff --git a/src/component/form/input/color/index.css b/src/component/form/input/color/index.css index 2109b28a..667bf60a 100644 --- a/src/component/form/input/color/index.css +++ b/src/component/form/input/color/index.css @@ -11,7 +11,8 @@ input[type="color"] { overflow: hidden; cursor: pointer; opacity: 1; - transition: box-shadow var(--layout-transition-extra-fast), opacity var(--layout-transition-extra-fast); + transition: box-shadow var(--layout-transition-extra-fast), + opacity var(--layout-transition-extra-fast); } input[type="color"]:hover { @@ -88,12 +89,13 @@ input[type="color"]::-moz-focus-inner { box-shadow: none; } -.input-color-dot input[type="color"]+label { +.input-color-dot input[type="color"] + label { padding-right: calc(var(--form-thumb) + 2em); position: relative; } .input-color-dot.form-input-button-link input[type="color"] { - box-shadow: 0 0 0 calc(var(--layout-line-width) * 0.75) hsl(var(--button-link-text)); + box-shadow: 0 0 0 calc(var(--layout-line-width) * 0.75) + hsl(var(--button-link-text)); transition: box-shadow var(--layout-transition-extra-fast); } diff --git a/src/component/form/input/color/index.js b/src/component/form/input/color/index.js index 44a7ed8e..8dd153f3 100644 --- a/src/component/form/input/color/index.js +++ b/src/component/form/input/color/index.js @@ -6,9 +6,8 @@ export const color = function ({ id = false, value = '#000000', classList = [], - func = false + func = false, } = {}) { - const input = node('input|type:color,value:' + value + ',tabindex:1'); if (id) { @@ -16,21 +15,16 @@ export const color = function ({ } if (classList.length > 0) { - classList.forEach((item) => { input.classList.add(item); }); - } if (func) { - input.addEventListener('change', () => { func(); }); - } return input; - }; diff --git a/src/component/form/input/file/index.js b/src/component/form/input/file/index.js index 957328c7..653833a4 100644 --- a/src/component/form/input/file/index.js +++ b/src/component/form/input/file/index.js @@ -2,12 +2,7 @@ import { node } from '../../../../utility/node'; import './index.css'; -export const file = ({ - id = false, - classList = [], - func = false -} = {}) => { - +export const file = ({ id = false, classList = [], func = false } = {}) => { const input = node('input|type:file,tabindex:1'); if (id) { @@ -15,21 +10,16 @@ export const file = ({ } if (classList.length > 0) { - classList.forEach((item) => { input.classList.add(item); }); - } if (func) { - input.addEventListener('change', () => { func(); }); - } return input; - }; diff --git a/src/component/form/input/index.js b/src/component/form/input/index.js index c5d39e28..07074d98 100644 --- a/src/component/form/input/index.js +++ b/src/component/form/input/index.js @@ -21,5 +21,5 @@ export { text, textarea, inputButton, - select + select, }; diff --git a/src/component/form/input/inputButton/index.css b/src/component/form/input/inputButton/index.css index 3cb875de..8449d1cf 100644 --- a/src/component/form/input/inputButton/index.css +++ b/src/component/form/input/inputButton/index.css @@ -3,10 +3,10 @@ display: flex; } -.form-input-button input[type="checkbox"]+label, -.form-input-button input[type="radio"]+label, -.form-input-button input[type="color"]+label, -.form-input-button input[type="file"]+label { +.form-input-button input[type="checkbox"] + label, +.form-input-button input[type="radio"] + label, +.form-input-button input[type="color"] + label, +.form-input-button input[type="file"] + label { background-color: hsl(var(--button-background)); padding: 0.25em 1.25em; margin: 0; @@ -30,27 +30,29 @@ align-items: center; overflow: hidden; box-shadow: none; - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast); } -.form-input-button input[type="checkbox"]:focus+label, -.form-input-button input[type="checkbox"]:hover+label, -.form-input-button input[type="radio"]:focus+label, -.form-input-button input[type="radio"]:hover+label, -.form-input-button input[type="color"]:focus+label, -.form-input-button input[type="color"]:hover+label, -.form-input-button input[type="file"]:focus+label, -.form-input-button input[type="file"]:hover+label { +.form-input-button input[type="checkbox"]:focus + label, +.form-input-button input[type="checkbox"]:hover + label, +.form-input-button input[type="radio"]:focus + label, +.form-input-button input[type="radio"]:hover + label, +.form-input-button input[type="color"]:focus + label, +.form-input-button input[type="color"]:hover + label, +.form-input-button input[type="file"]:focus + label, +.form-input-button input[type="file"]:hover + label { background-color: hsl(var(--button-background-focus-hover)); color: hsl(var(--button-text-focus-hover)); outline: none; text-decoration: none; } -.form-input-button input[type="checkbox"]:active+label, -.form-input-button input[type="radio"]:active+label, -.form-input-button input[type="color"]:active+label, -.form-input-button input[type="file"]:active+label { +.form-input-button input[type="checkbox"]:active + label, +.form-input-button input[type="radio"]:active + label, +.form-input-button input[type="color"]:active + label, +.form-input-button input[type="file"]:active + label { background-color: hsl(var(--button-background-active)); color: hsl(var(--button-text-active)); outline: none; @@ -58,98 +60,101 @@ transition: none; } -.form-input-button input[type="checkbox"]:checked+label, -.form-input-button input[type="radio"]:checked+label, -.form-input-button input[type="color"]:checked+label, -.form-input-button input[type="file"]:checked+label { +.form-input-button input[type="checkbox"]:checked + label, +.form-input-button input[type="radio"]:checked + label, +.form-input-button input[type="color"]:checked + label, +.form-input-button input[type="file"]:checked + label { background-color: hsl(var(--button-background-active)); color: hsl(var(--button-text-active)); outline: none; text-decoration: none; } -.form-input-button input[type="checkbox"]:disabled+label, -.form-input-button input[type="checkbox"]:disabled:hover+label, -.form-input-button input[type="checkbox"]:disabled:focus+label, -.form-input-button input[type="checkbox"]:disabled:active+label, -.form-input-button input[type="radio"]:disabled+label, -.form-input-button input[type="radio"]:disabled:hover+label, -.form-input-button input[type="radio"]:disabled:focus+label, -.form-input-button input[type="radio"]:disabled:active+label, -.form-input-button input[type="color"]:disabled+label, -.form-input-button input[type="color"]:disabled:hover+label, -.form-input-button input[type="color"]:disabled:focus+label, -.form-input-button input[type="color"]:disabled:active+label, -.form-input-button input[type="file"]:disabled+label, -.form-input-button input[type="file"]:disabled:hover+label, -.form-input-button input[type="file"]:disabled:focus+label, -.form-input-button input[type="file"]:disabled:active+label { +.form-input-button input[type="checkbox"]:disabled + label, +.form-input-button input[type="checkbox"]:disabled:hover + label, +.form-input-button input[type="checkbox"]:disabled:focus + label, +.form-input-button input[type="checkbox"]:disabled:active + label, +.form-input-button input[type="radio"]:disabled + label, +.form-input-button input[type="radio"]:disabled:hover + label, +.form-input-button input[type="radio"]:disabled:focus + label, +.form-input-button input[type="radio"]:disabled:active + label, +.form-input-button input[type="color"]:disabled + label, +.form-input-button input[type="color"]:disabled:hover + label, +.form-input-button input[type="color"]:disabled:focus + label, +.form-input-button input[type="color"]:disabled:active + label, +.form-input-button input[type="file"]:disabled + label, +.form-input-button input[type="file"]:disabled:hover + label, +.form-input-button input[type="file"]:disabled:focus + label, +.form-input-button input[type="file"]:disabled:active + label { background-color: hsl(var(--button-background-disabled)); color: hsl(var(--button-text-disabled)); cursor: default; text-decoration: none; } -.form-input-button input[type="checkbox"]+label .label-icon, -.form-input-button input[type="radio"]+label .label-icon { +.form-input-button input[type="checkbox"] + label .label-icon, +.form-input-button input[type="radio"] + label .label-icon { top: inherit; } -.form-input-button-ring input[type="checkbox"]+label, -.form-input-button-ring input[type="radio"]+label, -.form-input-button-ring input[type="color"]+label, -.form-input-button-ring input[type="file"]+label { - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); +.form-input-button-ring input[type="checkbox"] + label, +.form-input-button-ring input[type="radio"] + label, +.form-input-button-ring input[type="color"] + label, +.form-input-button-ring input[type="file"] + label { + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); } -.form-input-button-ring input[type="checkbox"]:focus+label, -.form-input-button-ring input[type="checkbox"]:hover+label, -.form-input-button-ring input[type="radio"]:focus+label, -.form-input-button-ring input[type="radio"]:hover+label, -.form-input-button-ring input[type="color"]:focus+label, -.form-input-button-ring input[type="color"]:hover+label, -.form-input-button-ring input[type="file"]:focus+label, -.form-input-button-ring input[type="file"]:hover+label { +.form-input-button-ring input[type="checkbox"]:focus + label, +.form-input-button-ring input[type="checkbox"]:hover + label, +.form-input-button-ring input[type="radio"]:focus + label, +.form-input-button-ring input[type="radio"]:hover + label, +.form-input-button-ring input[type="color"]:focus + label, +.form-input-button-ring input[type="color"]:hover + label, +.form-input-button-ring input[type="file"]:focus + label, +.form-input-button-ring input[type="file"]:hover + label { box-shadow: var(--form-ring-hover); } -.form-input-button-ring input[type="checkbox"]:active+label, -.form-input-button-ring input[type="radio"]:active+label, -.form-input-button-ring input[type="color"]:active+label, -.form-input-button-ring input[type="file"]:active+label { +.form-input-button-ring input[type="checkbox"]:active + label, +.form-input-button-ring input[type="radio"]:active + label, +.form-input-button-ring input[type="color"]:active + label, +.form-input-button-ring input[type="file"]:active + label { box-shadow: var(--form-ring-accent); } -.form-input-button-ring input[type="checkbox"]:checked+label, -.form-input-button-ring input[type="radio"]:checked+label, -.form-input-button-ring input[type="color"]:checked+label, -.form-input-button-ring input[type="file"]:checked+label { +.form-input-button-ring input[type="checkbox"]:checked + label, +.form-input-button-ring input[type="radio"]:checked + label, +.form-input-button-ring input[type="color"]:checked + label, +.form-input-button-ring input[type="file"]:checked + label { box-shadow: var(--form-ring-accent); } -.form-input-button-ring input[type="checkbox"]:disabled+label, -.form-input-button-ring input[type="checkbox"]:disabled:hover+label, -.form-input-button-ring input[type="checkbox"]:disabled:focus+label, -.form-input-button-ring input[type="checkbox"]:disabled:active+label, -.form-input-button-ring input[type="radio"]:disabled+label, -.form-input-button-ring input[type="radio"]:disabled:hover+label, -.form-input-button-ring input[type="radio"]:disabled:focus+label, -.form-input-button-ring input[type="radio"]:disabled:active+label, -.form-input-button-ring input[type="color"]:disabled+label, -.form-input-button-ring input[type="color"]:disabled:hover+label, -.form-input-button-ring input[type="color"]:disabled:focus+label, -.form-input-button-ring input[type="color"]:disabled:active+label, -.form-input-button-ring input[type="file"]:disabled+label, -.form-input-button-ring input[type="file"]:disabled:hover+label, -.form-input-button-ring input[type="file"]:disabled:focus+label, -.form-input-button-ring input[type="file"]:disabled:active+label { +.form-input-button-ring input[type="checkbox"]:disabled + label, +.form-input-button-ring input[type="checkbox"]:disabled:hover + label, +.form-input-button-ring input[type="checkbox"]:disabled:focus + label, +.form-input-button-ring input[type="checkbox"]:disabled:active + label, +.form-input-button-ring input[type="radio"]:disabled + label, +.form-input-button-ring input[type="radio"]:disabled:hover + label, +.form-input-button-ring input[type="radio"]:disabled:focus + label, +.form-input-button-ring input[type="radio"]:disabled:active + label, +.form-input-button-ring input[type="color"]:disabled + label, +.form-input-button-ring input[type="color"]:disabled:hover + label, +.form-input-button-ring input[type="color"]:disabled:focus + label, +.form-input-button-ring input[type="color"]:disabled:active + label, +.form-input-button-ring input[type="file"]:disabled + label, +.form-input-button-ring input[type="file"]:disabled:hover + label, +.form-input-button-ring input[type="file"]:disabled:focus + label, +.form-input-button-ring input[type="file"]:disabled:active + label { box-shadow: none; } -.form-input-button-line input[type="checkbox"]+label:after, -.form-input-button-line input[type="radio"]+label:after, -.form-input-button-line input[type="color"]+label:after, -.form-input-button-line input[type="file"]+label:after { +.form-input-button-line input[type="checkbox"] + label:after, +.form-input-button-line input[type="radio"] + label:after, +.form-input-button-line input[type="color"] + label:after, +.form-input-button-line input[type="file"] + label:after { content: ""; background: transparent; border-radius: calc(var(--theme-radius) * 0.01em); @@ -158,116 +163,121 @@ left: 0; width: 100%; height: 100%; - clip-path: polygon(0 calc(100% - var(--layout-line-width)), 100% calc(100% - var(--layout-line-width)), 100% 100%, 0% 100%); + clip-path: polygon( + 0 calc(100% - var(--layout-line-width)), + 100% calc(100% - var(--layout-line-width)), + 100% 100%, + 0% 100% + ); transition: background-color var(--layout-transition-extra-fast); pointer-events: none; } -.form-input-button-line input[type="checkbox"]:focus+label:after, -.form-input-button-line input[type="checkbox"]:hover+label:after, -.form-input-button-line input[type="radio"]:focus+label:after, -.form-input-button-line input[type="radio"]:hover+label:after, -.form-input-button-line input[type="color"]:focus+label:after, -.form-input-button-line input[type="color"]:hover+label:after, -.form-input-button-line input[type="file"]:focus+label:after, -.form-input-button-line input[type="file"]:hover+label:after { +.form-input-button-line input[type="checkbox"]:focus + label:after, +.form-input-button-line input[type="checkbox"]:hover + label:after, +.form-input-button-line input[type="radio"]:focus + label:after, +.form-input-button-line input[type="radio"]:hover + label:after, +.form-input-button-line input[type="color"]:focus + label:after, +.form-input-button-line input[type="color"]:hover + label:after, +.form-input-button-line input[type="file"]:focus + label:after, +.form-input-button-line input[type="file"]:hover + label:after { background-color: hsl(var(--button-border-focus-hover)); } -.form-input-button-line input[type="checkbox"]:active+label:after, -.form-input-button-line input[type="radio"]:active+label:after, -.form-input-button-line input[type="color"]:active+label:after, -.form-input-button-line input[type="file"]:active+label:after { +.form-input-button-line input[type="checkbox"]:active + label:after, +.form-input-button-line input[type="radio"]:active + label:after, +.form-input-button-line input[type="color"]:active + label:after, +.form-input-button-line input[type="file"]:active + label:after { background-color: rgb(var(--button-border-active)); transition: none; } -.form-input-button-line input[type="checkbox"]:checked+label:after, -.form-input-button-line input[type="radio"]:checked+label:after, -.form-input-button-line input[type="color"]:checked+label:after, -.form-input-button-line input[type="file"]:checked+label:after { +.form-input-button-line input[type="checkbox"]:checked + label:after, +.form-input-button-line input[type="radio"]:checked + label:after, +.form-input-button-line input[type="color"]:checked + label:after, +.form-input-button-line input[type="file"]:checked + label:after { background-color: rgb(var(--button-border-active)); transition: none; } -.form-input-button-line input[type="checkbox"]:disabled+label:after, -.form-input-button-line input[type="checkbox"]:disabled:hover+label:after, -.form-input-button-line input[type="checkbox"]:disabled:focus+label:after, -.form-input-button-line input[type="checkbox"]:disabled:active+label:after, -.form-input-button-line input[type="radio"]:disabled+label:after, -.form-input-button-line input[type="radio"]:disabled:hover+label:after, -.form-input-button-line input[type="radio"]:disabled:focus+label:after, -.form-input-button-line input[type="radio"]:disabled:active+label:after, -.form-input-button-line input[type="color"]:disabled+label:after, -.form-input-button-line input[type="color"]:disabled:hover+label:after, -.form-input-button-line input[type="color"]:disabled:focus+label:after, -.form-input-button-line input[type="color"]:disabled:active+label:after, -.form-input-button-line input[type="file"]:disabled+label:after, -.form-input-button-line input[type="file"]:disabled:hover+label:after, -.form-input-button-line input[type="file"]:disabled:focus+label:after, -.form-input-button-line input[type="file"]:disabled:active+label:after { +.form-input-button-line input[type="checkbox"]:disabled + label:after, +.form-input-button-line input[type="checkbox"]:disabled:hover + label:after, +.form-input-button-line input[type="checkbox"]:disabled:focus + label:after, +.form-input-button-line input[type="checkbox"]:disabled:active + label:after, +.form-input-button-line input[type="radio"]:disabled + label:after, +.form-input-button-line input[type="radio"]:disabled:hover + label:after, +.form-input-button-line input[type="radio"]:disabled:focus + label:after, +.form-input-button-line input[type="radio"]:disabled:active + label:after, +.form-input-button-line input[type="color"]:disabled + label:after, +.form-input-button-line input[type="color"]:disabled:hover + label:after, +.form-input-button-line input[type="color"]:disabled:focus + label:after, +.form-input-button-line input[type="color"]:disabled:active + label:after, +.form-input-button-line input[type="file"]:disabled + label:after, +.form-input-button-line input[type="file"]:disabled:hover + label:after, +.form-input-button-line input[type="file"]:disabled:focus + label:after, +.form-input-button-line input[type="file"]:disabled:active + label:after { background-color: hsl(var(--button-border-disabled)); } -.form-input-button-link input[type="checkbox"]+label, -.form-input-button-link input[type="radio"]+label, -.form-input-button-link input[type="color"]+label, -.form-input-button-link input[type="file"]+label { +.form-input-button-link input[type="checkbox"] + label, +.form-input-button-link input[type="radio"] + label, +.form-input-button-link input[type="color"] + label, +.form-input-button-link input[type="file"] + label { background-color: transparent; } -.form-input-button-link input[type="checkbox"]:hover+label, -.form-input-button-link input[type="checkbox"]:focus+label, -.form-input-button-link input[type="checkbox"]:checked+label, -.form-input-button-link input[type="radio"]:hover+label, -.form-input-button-link input[type="radio"]:focus+label, -.form-input-button-link input[type="radio"]:checked+label, -.form-input-button-link input[type="color"]:hover+label, -.form-input-button-link input[type="color"]:focus+label, -.form-input-button-link input[type="color"]:checked+label, -.form-input-button-link input[type="file"]:hover+label, -.form-input-button-link input[type="file"]:focus+label, -.form-input-button-link input[type="file"]:checked+label { +.form-input-button-link input[type="checkbox"]:hover + label, +.form-input-button-link input[type="checkbox"]:focus + label, +.form-input-button-link input[type="checkbox"]:checked + label, +.form-input-button-link input[type="radio"]:hover + label, +.form-input-button-link input[type="radio"]:focus + label, +.form-input-button-link input[type="radio"]:checked + label, +.form-input-button-link input[type="color"]:hover + label, +.form-input-button-link input[type="color"]:focus + label, +.form-input-button-link input[type="color"]:checked + label, +.form-input-button-link input[type="file"]:hover + label, +.form-input-button-link input[type="file"]:focus + label, +.form-input-button-link input[type="file"]:checked + label { background-color: transparent; } -.form-input-button-link input[type="checkbox"]:active+label, -.form-input-button-link input[type="radio"]:active+label, -.form-input-button-link input[type="color"]:active+label, -.form-input-button-link input[type="file"]:active+label { +.form-input-button-link input[type="checkbox"]:active + label, +.form-input-button-link input[type="radio"]:active + label, +.form-input-button-link input[type="color"]:active + label, +.form-input-button-link input[type="file"]:active + label { background-color: transparent; } -.form-input-button-link input:disabled[type="checkbox"]+label, -.form-input-button-link input:disabled[type="radio"]+label, -.form-input-button-link input:disabled[type="color"]+label, -.form-input-button-link input:disabled[type="file"]+label { +.form-input-button-link input:disabled[type="checkbox"] + label, +.form-input-button-link input:disabled[type="radio"] + label, +.form-input-button-link input:disabled[type="color"] + label, +.form-input-button-link input:disabled[type="file"] + label { background-color: transparent; pointer-events: none; } -.form-input-button-link input:disabled[type="checkbox"]:hover+label, -.form-input-button-link input:disabled[type="checkbox"]:focus+label, -.form-input-button-link input:disabled[type="radio"]:hover+label, -.form-input-button-link input:disabled[type="radio"]:focus+label, -.form-input-button-link input:disabled[type="color"]:hover+label, -.form-input-button-link input:disabled[type="color"]:focus+label, -.form-input-button-link input:disabled[type="file"]:hover+label, -.form-input-button-link input:disabled[type="file"]:focus+label { +.form-input-button-link input:disabled[type="checkbox"]:hover + label, +.form-input-button-link input:disabled[type="checkbox"]:focus + label, +.form-input-button-link input:disabled[type="radio"]:hover + label, +.form-input-button-link input:disabled[type="radio"]:focus + label, +.form-input-button-link input:disabled[type="color"]:hover + label, +.form-input-button-link input:disabled[type="color"]:focus + label, +.form-input-button-link input:disabled[type="file"]:hover + label, +.form-input-button-link input:disabled[type="file"]:focus + label { background-color: transparent; } -.form-input-button-sr-only input[type="checkbox"]+label, -.form-input-button-sr-only input[type="radio"]+label, -.form-input-button-sr-only input[type="color"]+label, -.form-input-button-sr-only input[type="file"]+label { +.form-input-button-sr-only input[type="checkbox"] + label, +.form-input-button-sr-only input[type="radio"] + label, +.form-input-button-sr-only input[type="color"] + label, +.form-input-button-sr-only input[type="file"] + label { display: block; } -.form-input-button-sr-only input[type="checkbox"]+label .label-block, -.form-input-button-sr-only input[type="radio"]+label .label-block, -.form-input-button-sr-only input[type="color"]+label .label-block, -.form-input-button-sr-only input[type="file"]+label .label-block { +.form-input-button-sr-only input[type="checkbox"] + label .label-block, +.form-input-button-sr-only input[type="radio"] + label .label-block, +.form-input-button-sr-only input[type="color"] + label .label-block, +.form-input-button-sr-only input[type="file"] + label .label-block { position: absolute; width: 1px; height: 1px; @@ -278,7 +288,7 @@ border: 0; } -.form-input-button-sr-only.input-color-dot input[type="color"]+label { +.form-input-button-sr-only.input-color-dot input[type="color"] + label { padding: 0.25em 1.75em; min-width: 4em; } @@ -290,12 +300,12 @@ transform: translate(-50%, -50%); } -.form-input-hide input[type="checkbox"]+label .label-icon, -.form-input-hide input[type="checkbox"]:checked+label .label-icon, -.form-input-hide input[type="radio"]+label .label-icon, -.form-input-hide input[type="radio"]:checked+label .label-icon, -.form-input-hide input[type="file"]+label .label-icon, -.form-input-hide input[type="file"]:checked+label .label-icon { +.form-input-hide input[type="checkbox"] + label .label-icon, +.form-input-hide input[type="checkbox"]:checked + label .label-icon, +.form-input-hide input[type="radio"] + label .label-icon, +.form-input-hide input[type="radio"]:checked + label .label-icon, +.form-input-hide input[type="file"] + label .label-icon, +.form-input-hide input[type="file"]:checked + label .label-icon { display: none; } diff --git a/src/component/form/input/inputButton/index.js b/src/component/form/input/inputButton/index.js index 6c1bf95f..4bc8589e 100644 --- a/src/component/form/input/inputButton/index.js +++ b/src/component/form/input/inputButton/index.js @@ -6,9 +6,8 @@ export const inputButton = function ({ children = false, inputHide = false, srOnly = false, - style = [] + style = [], } = {}) { - const inputButtonElement = node('div|class:form-input-button', children); if (style.length > 0) { @@ -29,7 +28,6 @@ export const inputButton = function ({ case 'dot': inputButtonElement.classList.add('input-color-dot'); break; - } }); } @@ -43,5 +41,4 @@ export const inputButton = function ({ } return inputButtonElement; - }; diff --git a/src/component/form/input/number/index.js b/src/component/form/input/number/index.js index 9b3a437d..405c7cae 100644 --- a/src/component/form/input/number/index.js +++ b/src/component/form/input/number/index.js @@ -10,10 +10,17 @@ export const number = ({ value = false, placeholder = false, classList = [], - func = false + func = false, } = {}) => { - - const input = node('input|type:number,min:' + min + ',max:' + max + ',step:' + step + ',tabindex:1'); + const input = node( + 'input|type:number,min:' + + min + + ',max:' + + max + + ',step:' + + step + + ',tabindex:1' + ); if (id) { input.setAttribute('id', id); @@ -28,21 +35,16 @@ export const number = ({ } if (classList.length > 0) { - classList.forEach((item) => { input.classList.add(item); }); - } if (func) { - input.addEventListener('input', () => { func(); }); - } return input; - }; diff --git a/src/component/form/input/radio/index.css b/src/component/form/input/radio/index.css index 4c6007a7..ce880358 100644 --- a/src/component/form/input/radio/index.css +++ b/src/component/form/input/radio/index.css @@ -14,7 +14,7 @@ input[type="radio"] { transition: color var(--layout-transition-extra-fast); } -input[type="radio"]+label { +input[type="radio"] + label { padding: 0; margin: 0; font-size: 1em; @@ -28,30 +28,31 @@ input[type="radio"]+label { flex-direction: row; justify-content: flex-start; align-items: flex-start; - transition: transform var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast); + transition: transform var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast); } -input[type="radio"]:hover+label, -input[type="radio"]:focus+label { +input[type="radio"]:hover + label, +input[type="radio"]:focus + label { color: hsl(var(--form-label-hover)); } -input[type="radio"]:active+label { +input[type="radio"]:active + label { color: hsl(var(--form-label-focus-active)); } -input[type="radio"]:checked+label { +input[type="radio"]:checked + label { color: hsl(var(--form-label-checked)); } -input[type="radio"]:disabled+label, -input[type="radio"]:disabled:hover+label, -input[type="radio"]:disabled:focus+label { +input[type="radio"]:disabled + label, +input[type="radio"]:disabled:hover + label, +input[type="radio"]:disabled:focus + label { color: hsl(var(--form-label-disabled)); cursor: default; } -input[type="radio"]+label .label-icon { +input[type="radio"] + label .label-icon { background-color: hsl(var(--form-icon)); width: var(--form-thumb); height: var(--form-thumb); @@ -62,45 +63,46 @@ input[type="radio"]+label .label-icon { flex-shrink: 0; z-index: 1; box-shadow: none; - transition: background-color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); } -input[type="radio"]+label .label-icon { +input[type="radio"] + label .label-icon { border-radius: 50%; } -input[type="radio"]:hover+label .label-icon, -input[type="radio"]:focus+label .label-icon { +input[type="radio"]:hover + label .label-icon, +input[type="radio"]:focus + label .label-icon { background-color: hsl(var(--form-icon-hover)); box-shadow: var(--form-ring-hover); } -input[type="radio"]:active+label .label-icon { +input[type="radio"]:active + label .label-icon { background-color: hsl(var(--form-icon-active)); box-shadow: var(--form-ring-accent); transition: none; } -input[type="radio"]:checked+label .label-icon { +input[type="radio"]:checked + label .label-icon { background-color: hsl(var(--form-icon-checked)); } -input[type="radio"]:checked:focus+label .label-icon, -input[type="radio"]:checked:active+label .label-icon { +input[type="radio"]:checked:focus + label .label-icon, +input[type="radio"]:checked:active + label .label-icon { box-shadow: var(--form-ring-accent); } -input[type="radio"]:disabled+label .label-icon, -input[type="radio"]:disabled:hover+label .label-icon, -input[type="radio"]:disabled:focus+label .label-icon, -input[type="radio"]:checked:disabled+label .label-icon, -input[type="radio"]:checked:disabled:hover+label .label-icon, -input[type="radio"]:checked:disabled:focus+label .label-icon { +input[type="radio"]:disabled + label .label-icon, +input[type="radio"]:disabled:hover + label .label-icon, +input[type="radio"]:disabled:focus + label .label-icon, +input[type="radio"]:checked:disabled + label .label-icon, +input[type="radio"]:checked:disabled:hover + label .label-icon, +input[type="radio"]:checked:disabled:focus + label .label-icon { background-color: hsl(var(--form-icon-disabled)); box-shadow: none; } -input[type="radio"]+label .label-icon:before { +input[type="radio"] + label .label-icon:before { content: ""; background-color: hsl(var(--form-icon-symbol)); width: 100%; @@ -112,91 +114,93 @@ input[type="radio"]+label .label-icon:before { transform: scale(0.7); transform-origin: center; z-index: 2; - transition: background-color var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast), transform var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast), + transform var(--layout-transition-extra-fast); } -input[type="radio"]+label .label-icon:before { +input[type="radio"] + label .label-icon:before { border-radius: 50%; } -input[type="radio"]:active+label .label-icon:before { +input[type="radio"]:active + label .label-icon:before { background-color: hsl(var(--form-icon-symbol-active)); transition: none; } -input[type="radio"]:checked+label .label-icon:before { +input[type="radio"]:checked + label .label-icon:before { background-color: hsl(var(--form-icon-symbol-active)); border-radius: 50%; } -input[type="radio"]:checked+label .label-icon:before { +input[type="radio"]:checked + label .label-icon:before { transform: scale(0.2); } -input[type="radio"]:disabled+label .label-icon:before, -input[type="radio"]:disabled:hover+label .label-icon:before, -input[type="radio"]:disabled:focus+label .label-icon:before, -input[type="radio"]:disabled:active+label .label-icon:before, -input[type="radio"]:checked:disabled+label .label-icon:before, -input[type="radio"]:checked:disabled:hover+label .label-icon:before, -input[type="radio"]:checked:disabled:focus+label .label-icon:before, -input[type="radio"]:checked:disabled:active+label .label-icon:before { +input[type="radio"]:disabled + label .label-icon:before, +input[type="radio"]:disabled:hover + label .label-icon:before, +input[type="radio"]:disabled:focus + label .label-icon:before, +input[type="radio"]:disabled:active + label .label-icon:before, +input[type="radio"]:checked:disabled + label .label-icon:before, +input[type="radio"]:checked:disabled:hover + label .label-icon:before, +input[type="radio"]:checked:disabled:focus + label .label-icon:before, +input[type="radio"]:checked:disabled:active + label .label-icon:before { background-color: hsl(var(--form-icon-symbol-disabled)); } -input[type="radio"]+label .label-block-item { +input[type="radio"] + label .label-block-item { color: hsl(var(--form-label)); transition: color var(--layout-transition-extra-fast); } -input[type="radio"]:hover+label .label-block-item, -input[type="radio"]:focus+label .label-block-item { +input[type="radio"]:hover + label .label-block-item, +input[type="radio"]:focus + label .label-block-item { color: hsl(var(--form-label-hover)); } -input[type="radio"]:active+label .label-block-item { +input[type="radio"]:active + label .label-block-item { color: hsl(var(--form-label-focus-active)); } -input[type="radio"]:checked+label .label-block-item { +input[type="radio"]:checked + label .label-block-item { color: hsl(var(--form-label-checked)); } -input[type="radio"]:disabled+label .label-block-item, -input[type="radio"]:disabled:hover+label .label-block-item, -input[type="radio"]:disabled:focus+label .label-block-item { +input[type="radio"]:disabled + label .label-block-item, +input[type="radio"]:disabled:hover + label .label-block-item, +input[type="radio"]:disabled:focus + label .label-block-item { color: hsl(var(--form-label-disabled)); cursor: default; } -input[type="radio"]+label .label-block-item.muted { +input[type="radio"] + label .label-block-item.muted { color: hsl(var(--utility-muted)); transition: color var(--layout-transition-extra-fast); } -input[type="radio"]:hover+label .label-block-item.muted, -input[type="radio"]:focus+label .label-block-item.muted { +input[type="radio"]:hover + label .label-block-item.muted, +input[type="radio"]:focus + label .label-block-item.muted { color: hsl(var(--utility-muted-hover)); } -input[type="radio"]:active+label .label-block-item.muted { +input[type="radio"]:active + label .label-block-item.muted { color: hsl(var(--utility-muted-focus-active)); } -input[type="radio"]:checked+label .label-block-item.muted { +input[type="radio"]:checked + label .label-block-item.muted { color: hsl(var(--utility-muted-checked)); } -input[type="radio"]:disabled+label .label-block-item.muted, -input[type="radio"]:disabled:hover+label .label-block-item.muted, -input[type="radio"]:disabled:focus+label .label-block-item.muted { +input[type="radio"]:disabled + label .label-block-item.muted, +input[type="radio"]:disabled:hover + label .label-block-item.muted, +input[type="radio"]:disabled:focus + label .label-block-item.muted { color: hsl(var(--utility-muted-disabled)); cursor: default; } -input[type="radio"]:disabled+label .label-block-item, -input[type="radio"]:disabled:hover+label .label-block-item, -input[type="radio"]:disabled:focus+label .label-block-item { +input[type="radio"]:disabled + label .label-block-item, +input[type="radio"]:disabled:hover + label .label-block-item, +input[type="radio"]:disabled:focus + label .label-block-item { color: hsl(var(--form-label-disabled)); cursor: default; } diff --git a/src/component/form/input/radio/index.js b/src/component/form/input/radio/index.js index 3177b9ff..f80eb97b 100644 --- a/src/component/form/input/radio/index.js +++ b/src/component/form/input/radio/index.js @@ -8,9 +8,8 @@ export const radio = function ({ value = false, checked = false, classList = [], - func = false + func = false, } = {}) { - const input = node('input|type:radio,tabindex:1'); if (id) { @@ -30,11 +29,9 @@ export const radio = function ({ } if (classList.length > 0) { - classList.forEach((item) => { input.classList.add(item); }); - } if (func) { @@ -44,5 +41,4 @@ export const radio = function ({ } return input; - }; diff --git a/src/component/form/input/range/index.css b/src/component/form/input/range/index.css index bd458842..0b4f1a21 100644 --- a/src/component/form/input/range/index.css +++ b/src/component/form/input/range/index.css @@ -14,15 +14,48 @@ } :root { - --form-range-hue: linear-gradient(to right, hsl(0, 100%, 50%), hsl(30, 100%, 50%), hsl(60, 100%, 50%), hsl(90, 100%, 50%), hsl(120, 100%, 50%), hsl(150, 100%, 50%), hsl(180, 100%, 50%), hsl(210, 100%, 50%), hsl(240, 100%, 50%), hsl(270, 100%, 50%), hsl(300, 100%, 50%), hsl(330, 100%, 50%), hsl(360, 100%, 50%)); + --form-range-hue: linear-gradient( + to right, + hsl(0, 100%, 50%), + hsl(30, 100%, 50%), + hsl(60, 100%, 50%), + hsl(90, 100%, 50%), + hsl(120, 100%, 50%), + hsl(150, 100%, 50%), + hsl(180, 100%, 50%), + hsl(210, 100%, 50%), + hsl(240, 100%, 50%), + hsl(270, 100%, 50%), + hsl(300, 100%, 50%), + hsl(330, 100%, 50%), + hsl(360, 100%, 50%) + ); } :root { - --form-range-saturation: linear-gradient(to right, hsl(var(--theme-primary-1-h), 0%, 50%), hsl(var(--theme-primary-1-h), 50%, 50%), hsl(var(--theme-primary-1-h), 100%, 50%)); + --form-range-saturation: linear-gradient( + to right, + hsl(var(--theme-primary-1-h), 0%, 50%), + hsl(var(--theme-primary-1-h), 50%, 50%), + hsl(var(--theme-primary-1-h), 100%, 50%) + ); } :root { - --form-range-contrast: linear-gradient(to right, hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 0%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 10%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 20%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 30%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 40%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 50%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 60%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 70%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 80%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 90%), hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 100%)); + --form-range-contrast: linear-gradient( + to right, + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 0%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 10%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 20%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 30%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 40%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 50%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 60%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 70%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 80%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 90%), + hsl(var(--theme-primary-1-h), calc(var(--theme-primary-1-s) * 1%), 100%) + ); } input[type="range"] { @@ -93,8 +126,12 @@ input[type="range"]::-webkit-slider-thumb { cursor: pointer; box-sizing: border-box; -webkit-appearance: none; - box-shadow: 0 0 0 calc(var(--layout-line-width) * 1.25) hsl(var(--form-range-thumb-border)); - transition: background-color var(--layout-transition-extra-fast), border var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast); + box-shadow: 0 0 0 calc(var(--layout-line-width) * 1.25) + hsl(var(--form-range-thumb-border)); + transition: background-color var(--layout-transition-extra-fast), + border var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast); } input[type="range"]:focus::-webkit-slider-thumb { @@ -164,8 +201,12 @@ input[type="range"]::-moz-range-thumb { cursor: pointer; box-sizing: border-box; -webkit-appearance: none; - box-shadow: 0 0 0 calc(var(--layout-line-width) * 1.25) hsl(var(--form-range-thumb-border)); - transition: background-color var(--layout-transition-extra-fast), border var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast); + box-shadow: 0 0 0 calc(var(--layout-line-width) * 1.25) + hsl(var(--form-range-thumb-border)); + transition: background-color var(--layout-transition-extra-fast), + border var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast); } input[type="range"]:focus::-moz-range-thumb { @@ -213,15 +254,25 @@ input[type="range"]:disabled.input-range-hue-spectrum::-moz-range-track { top: 0; left: 0; width: 100%; - clip-path: polygon(calc(var(--slider-double-right-clip) * 1%) 0%, calc(100% + 2em) 0%, calc(100% + 2em) 100%, calc(var(--slider-double-right-clip) * 1%) 100%); + clip-path: polygon( + calc(var(--slider-double-right-clip) * 1%) 0%, + calc(100% + 2em) 0%, + calc(100% + 2em) 100%, + calc(var(--slider-double-right-clip) * 1%) 100% + ); } .slider-double input[type="range"]:last-child::-webkit-slider-runnable-track, -.slider-double input[type="range"]:last-child:hover::-webkit-slider-runnable-track, -.slider-double input[type="range"]:last-child:focus::-webkit-slider-runnable-track, -.slider-double input[type="range"]:last-child:disabled::-webkit-slider-runnable-track, -.slider-double input[type="range"]:last-child:disabled:hover::-webkit-slider-runnable-track, -.slider-double input[type="range"]:last-child:disabled:focus::-webkit-slider-runnable-track { +.slider-double + input[type="range"]:last-child:hover::-webkit-slider-runnable-track, +.slider-double + input[type="range"]:last-child:focus::-webkit-slider-runnable-track, +.slider-double + input[type="range"]:last-child:disabled::-webkit-slider-runnable-track, +.slider-double + input[type="range"]:last-child:disabled:hover::-webkit-slider-runnable-track, +.slider-double + input[type="range"]:last-child:disabled:focus::-webkit-slider-runnable-track { background-color: transparent; } diff --git a/src/component/form/input/range/index.js b/src/component/form/input/range/index.js index 4a08b74f..6ce825f4 100644 --- a/src/component/form/input/range/index.js +++ b/src/component/form/input/range/index.js @@ -13,63 +13,59 @@ export const range = ({ focusFunc = false, blurFunc = false, mouseDownFunc = false, - mouseUpFunc = false + mouseUpFunc = false, } = {}) => { - - const input = node('input|type:range,min:' + min + ',max:' + max + ',step:' + step + ',value:' + value + ',tabindex:1'); + const input = node( + 'input|type:range,min:' + + min + + ',max:' + + max + + ',step:' + + step + + ',value:' + + value + + ',tabindex:1' + ); if (id) { input.setAttribute('id', id); } if (classList.length > 0) { - classList.forEach((item) => { input.classList.add(item); }); - } if (func) { - input.addEventListener('input', () => { func(); }); - } if (focusFunc) { - input.addEventListener('focus', () => { focusFunc(); }); - } if (blurFunc) { - input.addEventListener('blur', () => { blurFunc(); }); - } if (mouseDownFunc) { - input.addEventListener('mousedown', () => { mouseDownFunc(); }); - } if (mouseUpFunc) { - input.addEventListener('mouseup', () => { mouseUpFunc(); }); - } return input; - }; diff --git a/src/component/form/input/select/index.css b/src/component/form/input/select/index.css index c644c9d8..9002d9d3 100644 --- a/src/component/form/input/select/index.css +++ b/src/component/form/input/select/index.css @@ -1,14 +1,13 @@ select { background-color: hsl(var(--form-input-background)); - background-image: - linear-gradient(45deg, transparent 60%, hsl(var(--form-label)) 60%), + background-image: linear-gradient( + 45deg, + transparent 60%, + hsl(var(--form-label)) 60% + ), linear-gradient(135deg, hsl(var(--form-label)) 40%, transparent 40%); - background-position: - calc(100% - 1.5em) 50%, - calc(100% - 1em) 50%; - background-size: - 0.5em 0.375em, - 0.5em 0.375em; + background-position: calc(100% - 1.5em) 50%, calc(100% - 1em) 50%; + background-size: 0.5em 0.375em, 0.5em 0.375em; background-repeat: no-repeat; padding: 0 3em 0 1.25em; margin: 0; @@ -24,15 +23,22 @@ select { border-width: 0; border-radius: calc(var(--theme-radius) * 0.01em); cursor: pointer; - transition: background-color var(--layout-transition-extra-fast), background-image var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + background-image var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); -moz-appearance: none; -webkit-appearance: none; appearance: none; } select:hover { - background-image: - linear-gradient(45deg, transparent 60%, hsl(var(--form-label-hover)) 60%), + background-image: linear-gradient( + 45deg, + transparent 60%, + hsl(var(--form-label-hover)) 60% + ), linear-gradient(135deg, hsl(var(--form-label-hover)) 40%, transparent 40%); background-color: hsl(var(--form-input-background-hover)); color: hsl(var(--form-label-hover)); @@ -42,9 +48,16 @@ select:hover { select:focus, select:active { - background-image: - linear-gradient(45deg, transparent 60%, hsl(var(--form-label-focus-active)) 60%), - linear-gradient(135deg, hsl(var(--form-label-focus-active)) 40%, transparent 40%); + background-image: linear-gradient( + 45deg, + transparent 60%, + hsl(var(--form-label-focus-active)) 60% + ), + linear-gradient( + 135deg, + hsl(var(--form-label-focus-active)) 40%, + transparent 40% + ); background-color: hsl(var(--form-input-background-border-focus-active)); color: hsl(var(--form-label-focus-active)); outline: none; @@ -57,9 +70,16 @@ select:disabled:hover, select:disabled:focus, select:disabled:active { background-color: hsl(var(--form-input-background-disabled)); - background-image: - linear-gradient(45deg, transparent 60%, hsl(var(--form-input-text-disabled)) 60%), - linear-gradient(135deg, hsl(var(--form-input-text-disabled)) 40%, transparent 40%); + background-image: linear-gradient( + 45deg, + transparent 60%, + hsl(var(--form-input-text-disabled)) 60% + ), + linear-gradient( + 135deg, + hsl(var(--form-input-text-disabled)) 40%, + transparent 40% + ); color: hsl(var(--form-input-text-disabled)); cursor: default; box-shadow: none; diff --git a/src/component/form/input/select/index.js b/src/component/form/input/select/index.js index 83c52aa5..69dc7abf 100644 --- a/src/component/form/input/select/index.js +++ b/src/component/form/input/select/index.js @@ -4,14 +4,13 @@ import { trimString } from '../../../../utility/trimString'; import './index.css'; -export const select = function({ +export const select = function ({ id = false, classList = [], option = [], selected = 0, - func = false + func = false, } = {}) { - const select = node('select|tabindex:1'); if (id) { @@ -19,39 +18,33 @@ export const select = function({ } if (classList.length > 0) { - classList.forEach((item) => { select.classList.add(item); }); - } if (func) { - select.addEventListener('change', () => { func(); }); - } if (option.length > 0) { option.forEach((item) => { - if (typeof item == 'string') { - select.appendChild( complexNode({ tag: 'option', text: item, - attr: [{ - key: 'value', - value: trimString(item).replace(/\s+/g, '-').toLowerCase() - }] + attr: [ + { + key: 'value', + value: trimString(item).replace(/\s+/g, '-').toLowerCase(), + }, + ], }) ); - } else { - const option = complexNode({ tag: 'option' }); if (item.name) { @@ -67,14 +60,11 @@ export const select = function({ } select.appendChild(option); - } - }); } select.selectedIndex = selected; return select; - }; diff --git a/src/component/form/input/text/index.css b/src/component/form/input/text/index.css index 939e595c..88fe778f 100644 --- a/src/component/form/input/text/index.css +++ b/src/component/form/input/text/index.css @@ -19,7 +19,10 @@ input[type="text"] { border-width: 0; border-radius: calc(var(--theme-radius) * 0.01em); cursor: text; - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); -moz-appearance: textfield; } @@ -34,8 +37,8 @@ input[type="number"] { text-align: center; } -input[type=number]::-webkit-inner-spin-button, -input[type=number]::-webkit-outer-spin-button { +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } diff --git a/src/component/form/input/text/index.js b/src/component/form/input/text/index.js index 5d062871..031a86d4 100644 --- a/src/component/form/input/text/index.js +++ b/src/component/form/input/text/index.js @@ -9,10 +9,11 @@ export const text = ({ max = false, placeholder = false, classList = [], - func = false + func = false, } = {}) => { - - const input = node('input|type:text,autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false,tabindex:1'); + const input = node( + 'input|type:text,autocomplete:off,autocorrect:off,autocapitalize:off,spellcheck:false,tabindex:1' + ); if (id) { input.setAttribute('id', id); @@ -35,21 +36,16 @@ export const text = ({ } if (classList.length > 0) { - classList.forEach((item) => { input.classList.add(item); }); - } if (func) { - input.addEventListener('input', () => { func(); }); - } return input; - }; diff --git a/src/component/form/input/textarea/index.css b/src/component/form/input/textarea/index.css index a2bd0271..bfaf9088 100644 --- a/src/component/form/input/textarea/index.css +++ b/src/component/form/input/textarea/index.css @@ -17,7 +17,10 @@ textarea { cursor: text; resize: vertical; display: block; - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); -moz-appearance: textfield; } diff --git a/src/component/form/input/textarea/index.js b/src/component/form/input/textarea/index.js index 978d4ea5..d676d0cd 100644 --- a/src/component/form/input/textarea/index.js +++ b/src/component/form/input/textarea/index.js @@ -7,9 +7,8 @@ export const textarea = function ({ value = false, placeholder = false, classList = [], - func = false + func = false, } = {}) { - const textarea = node('textarea|tabindex:1,spellcheck:false'); if (id) { @@ -25,21 +24,16 @@ export const textarea = function ({ } if (classList.length > 0) { - classList.forEach((item) => { textarea.classList.add(item); }); - } if (func) { - textarea.addEventListener('input', () => { func(); }); - } return textarea; - }; diff --git a/src/component/form/label/index.css b/src/component/form/label/index.css index 51fa39fd..1eb6deb5 100644 --- a/src/component/form/label/index.css +++ b/src/component/form/label/index.css @@ -30,9 +30,9 @@ label.disabled { gap: 0.25em; } -input:disabled+label .label-block-item, -input:disabled:hover+label .label-block-item, -input:disabled:focus+label .label-block-item { +input:disabled + label .label-block-item, +input:disabled:hover + label .label-block-item, +input:disabled:focus + label .label-block-item { color: hsl(var(--form-label-disabled)); cursor: default; } diff --git a/src/component/form/label/index.js b/src/component/form/label/index.js index 993a9b67..8e18d914 100644 --- a/src/component/form/label/index.js +++ b/src/component/form/label/index.js @@ -9,9 +9,8 @@ export const label = ({ srOnly = false, icon = false, noPadding = false, - classList = [] + classList = [], } = {}) => { - let label; if (forInput) { @@ -40,15 +39,15 @@ export const label = ({ if (description) { if (Array.isArray(description)) { - description.forEach((item) => { - labelBlock.appendChild(node('span:' + item + '|class:label-block-item small muted')); + labelBlock.appendChild( + node('span:' + item + '|class:label-block-item small muted') + ); }); - } else if (typeof description === 'string') { - - labelBlock.appendChild(node('span:' + description + '|class:label-block-item small muted')); - + labelBlock.appendChild( + node('span:' + description + '|class:label-block-item small muted') + ); } } @@ -61,13 +60,10 @@ export const label = ({ } if (classList.length > 0) { - classList.forEach((item) => { label.classList.add(item); }); - } return label; - }; diff --git a/src/component/form/sticky/index.js b/src/component/form/sticky/index.js index 42c6b1ea..bbab5a4f 100644 --- a/src/component/form/sticky/index.js +++ b/src/component/form/sticky/index.js @@ -2,10 +2,6 @@ import { node } from '../../../utility/node'; import './index.css'; -export const sticky = function ({ - children = false -} = {}) { - +export const sticky = function ({ children = false } = {}) { return node('div|class:form-sticky', children); - -}; \ No newline at end of file +}; diff --git a/src/component/form/wrap/index.js b/src/component/form/wrap/index.js index 2170a244..8b29527b 100644 --- a/src/component/form/wrap/index.js +++ b/src/component/form/wrap/index.js @@ -2,10 +2,6 @@ import { node } from '../../../utility/node'; import './index.css'; -export const wrap = ({ - children = false -} = {}) => { - +export const wrap = ({ children = false } = {}) => { return node('div|class:form-wrap', children); - }; diff --git a/src/component/greeting/index.js b/src/component/greeting/index.js index 1ea1b3ee..707feed3 100644 --- a/src/component/greeting/index.js +++ b/src/component/greeting/index.js @@ -8,89 +8,73 @@ import moment from 'moment'; import './index.css'; -export const Greeting = function() { - +export const Greeting = function () { this.now; this.element = { greeting: node('div|class:greeting'), - text: node('span|class:greeting-item greeting-text') + text: node('span|class:greeting-item greeting-text'), }; this.assemble = () => { - if (state.get.current().header.greeting.show) { this.element.greeting.appendChild(this.element.text); } - }; this.update = () => { - - const goodMessage = ['Good night', 'Good morning', 'Good afternoon', 'Good evening']; + const goodMessage = [ + 'Good night', + 'Good morning', + 'Good afternoon', + 'Good evening', + ]; this.now = moment(); let value; switch (state.get.current().header.greeting.type) { - case 'none': - value = ''; break; case 'good': - value = goodMessage[Math.floor(this.now.hours() / 6)]; break; case 'hello': - value = 'Hello'; break; case 'hi': - value = 'hi'; break; case 'custom': - if (isValidString(state.get.current().header.greeting.custom)) { - value = trimString(state.get.current().header.greeting.custom); - } else { - value = goodMessage[Math.floor(this.now.hours() / 6)]; - } break; - } if (isValidString(state.get.current().header.greeting.name)) { - if (state.get.current().header.greeting.type === 'none') { - value = value + trimString(state.get.current().header.greeting.name); - } else { - - value = value + ', ' + trimString(state.get.current().header.greeting.name); - + value = + value + ', ' + trimString(state.get.current().header.greeting.name); } - } this.element.text.innerHTML = value; - }; this.assemble(); @@ -100,5 +84,4 @@ export const Greeting = function() { this.greeting = () => { return this.element.greeting; }; - -}; \ No newline at end of file +}; diff --git a/src/component/group/index.css b/src/component/group/index.css index 26536598..72fccc1a 100644 --- a/src/component/group/index.css +++ b/src/component/group/index.css @@ -95,7 +95,10 @@ display: grid; grid-auto-rows: var(--group-cell-height); gap: calc(var(--layout-space) * var(--layout-gutter)); - grid-template-columns: repeat(auto-fill, minmax(var(--group-cell-width), 1fr)); + grid-template-columns: repeat( + auto-fill, + minmax(var(--group-cell-width), 1fr) + ); grid-auto-flow: dense; } @@ -106,13 +109,16 @@ .group-control { margin-left: calc(calc(var(--layout-space) * var(--layout-gutter)) * -1); height: 0; - transition: height var(--layout-transition-extra-fast) var(--layout-duration-04), margin var(--layout-transition-extra-fast); + transition: height var(--layout-transition-extra-fast) + var(--layout-duration-04), + margin var(--layout-transition-extra-fast); } .is-group-edit .group-control { margin: 0; height: 2.5em; - transition: height var(--layout-transition-extra-fast), margin var(--layout-transition-extra-fast) var(--layout-duration-04); + transition: height var(--layout-transition-extra-fast), + margin var(--layout-transition-extra-fast) var(--layout-duration-04); } .is-edge .group-control { @@ -127,7 +133,8 @@ .is-group-edit .group-control-group { width: 20em; - transition: width var(--layout-transition-extra-fast) var(--layout-duration-04); + transition: width var(--layout-transition-extra-fast) + var(--layout-duration-04); } .is-edge .group-control-group { @@ -139,16 +146,25 @@ } .group-toolbar-button { - background-color: hsl(var(--button-background), calc(var(--theme-group-toolbar-opacity) / 100)); + background-color: hsl( + var(--button-background), + calc(var(--theme-group-toolbar-opacity) / 100) + ); } .group-toolbar-button:focus, .group-toolbar-button:hover { - background-color: hsl(var(--button-background-focus-hover), calc(var(--theme-group-toolbar-opacity) / 100)); + background-color: hsl( + var(--button-background-focus-hover), + calc(var(--theme-group-toolbar-opacity) / 100) + ); } .group-toolbar-button:active { - background-color: hsl(var(--button-background-active), calc(var(--theme-group-toolbar-opacity) / 100)); + background-color: hsl( + var(--button-background-active), + calc(var(--theme-group-toolbar-opacity) / 100) + ); } .group-toolbar-collapse .icon { @@ -184,7 +200,8 @@ --button-link-text-disabled: var(--theme-primary-010); } -.is-group-toolbar-opacity-low.is-theme-background-type-accent .group-toolbar-button { +.is-group-toolbar-opacity-low.is-theme-background-type-accent + .group-toolbar-button { --button-text: var(--theme-accent-text); --button-text-focus-hover: var(--theme-accent-text); --button-text-active: var(--theme-accent-text); @@ -195,7 +212,8 @@ --button-link-text-disabled: var(--theme-accent-text); } -.is-group-toolbar-opacity-low.is-theme-background-type-color .group-toolbar-button { +.is-group-toolbar-opacity-low.is-theme-background-type-color + .group-toolbar-button { --button-text: var(--theme-background-color-text); --button-text-focus-hover: var(--theme-background-color-text); --button-text-active: var(--theme-background-color-text); @@ -204,4 +222,4 @@ --button-link-text-focus-hover: var(--theme-background-color-text); --button-link-text-active: var(--theme-background-color-text); --button-link-text-disabled: var(--theme-background-color-text); -} \ No newline at end of file +} diff --git a/src/component/group/index.js b/src/component/group/index.js index f6fbedee..1ed7e3a1 100644 --- a/src/component/group/index.js +++ b/src/component/group/index.js @@ -26,7 +26,7 @@ import './index.css'; const group = {}; group.area = { - current: [] + current: [], }; group.item = { @@ -44,12 +44,10 @@ group.item = { }, remove: (groupData) => { bookmark.all.splice(groupData.position.origin, 1); - } + }, }, render: () => { - const addGroup = (groupData, groupIndex) => { - const currentGroupkData = new StagedGroup(groupData); currentGroupkData.position.origin = groupIndex; @@ -61,153 +59,112 @@ group.item = { group.area.current.push(groupArea); if (state.get.current().search) { - - if (header.element.search.resultCount().group[groupIndex].searchMatch > 0) { - + if ( + header.element.search.resultCount().group[groupIndex].searchMatch > 0 + ) { bookmark.element.group.appendChild(groupArea.group()); - } - } else { - bookmark.element.group.appendChild(groupArea.group()); - } - }; const addSearchEmpty = () => { - const searchEmpty = new SearchEmpty(); bookmark.element.group.appendChild(searchEmpty.empty()); - }; const addBookmarkEmpty = () => { - const bookmarkEmpty = new BookmarkEmpty(); bookmark.element.group.appendChild(bookmarkEmpty.empty()); - }; if (bookmark.all.length > 0) { - if (state.get.current().search) { - // searching if (header.element.search.resultCount().total > 0) { - bookmark.all.forEach((item, i) => { - const groupIndex = i; addGroup(item, groupIndex); - }); - } else { - addSearchEmpty(); - } - } else { - // not searching bookmark.all.forEach((item, i) => { - const groupIndex = i; addGroup(item, groupIndex); - }); - } - } else { - if (state.get.current().search) { - // searching addSearchEmpty(); - } else { - // not searching addBookmarkEmpty(); - } - } - }, clear: () => { - group.area.current = []; clearChildNode(bookmark.element.group); - - } + }, }; group.edit = { open: () => { - state.get.current().group.edit = true; group.edit.render(); - }, close: () => { - state.get.current().group.edit = false; group.edit.render(); - }, toggle: () => { - if (state.get.current().group.edit) { group.edit.close(); } else { group.edit.open(); } - }, render: () => { - applyCSSState('group.edit'); if (group.area.current.length > 0) { - group.area.current.forEach((item) => { - if (state.get.current().group.edit) { item.control.enable(); } else { item.control.disable(); } - }); - } - - } + }, }; group.add = { mod: { - open: () => { state.get.current().group.add = true; }, - close: () => { state.get.current().group.add = false; } + open: () => { + state.get.current().group.add = true; + }, + close: () => { + state.get.current().group.add = false; + }, }, render: () => { - const newGroupData = new StagedGroup(); newGroupData.newGroup(); @@ -221,21 +178,16 @@ group.add = { cancelText: message.get('groupAddCancelText'), width: 40, openAction: () => { - group.add.mod.open(); data.save(); - }, closeAction: () => { - group.add.mod.close(); data.save(); - }, successAction: () => { - group.item.mod.add(newGroupData); group.add.mod.close(); @@ -245,26 +197,21 @@ group.add = { layout.area.assemble(); data.save(); - }, dismissAction: () => { - group.add.mod.close(); data.save(); - - } + }, }); addModal.open(); - - } + }, }; group.sort = { sortable: null, bind: () => { - group.sort.sortable = null; group.sort.sortable = Sortable.create(bookmark.element.group, { @@ -273,7 +220,6 @@ group.sort = { animation: 500, easing: 'cubic-bezier(0.8, 0.8, 0.4, 1.4)', onEnd: (event) => { - // console.log('============ debug sort ============'); // console.log(event); // console.log('item:', 'origin', event.oldIndex, 'destination', event.newIndex); @@ -289,22 +235,14 @@ group.sort = { groupAndBookmark.render(); data.save(); - - } + }, }); - - } + }, }; group.init = () => { - applyCSSVar([ - 'group.name.size', - 'group.toolbar.size' - ]); - applyCSSClass([ - 'group.area.justify', - 'group.order' - ]); + applyCSSVar(['group.name.size', 'group.toolbar.size']); + applyCSSClass(['group.area.justify', 'group.order']); group.add.mod.close(); group.edit.render(); }; diff --git a/src/component/groupAndBookmark/index.js b/src/component/groupAndBookmark/index.js index 9ee427b7..481ecca6 100644 --- a/src/component/groupAndBookmark/index.js +++ b/src/component/groupAndBookmark/index.js @@ -5,7 +5,6 @@ import { group } from '../group'; const groupAndBookmark = {}; groupAndBookmark.render = () => { - group.item.clear(); bookmark.item.clear(); @@ -15,32 +14,20 @@ groupAndBookmark.render = () => { bookmark.item.render(); if (state.get.current().search) { - if (group.sort.sortable) { - group.sort.sortable.option('disabled', true); - } if (bookmark.sort.sortable.length > 0) { - bookmark.sort.sortable.forEach((item) => { - item.option('disabled', true); - }); - } - - } else { - group.sort.bind(); bookmark.sort.bind(); - } - }; groupAndBookmark.init = () => { diff --git a/src/component/groupArea/index.js b/src/component/groupArea/index.js index d36f2fc8..8b90d144 100644 --- a/src/component/groupArea/index.js +++ b/src/component/groupArea/index.js @@ -16,10 +16,7 @@ import { node } from '../../utility/node'; import { isValidString } from '../../utility/isValidString'; import { clearChildNode } from '../../utility/clearChildNode'; -export const GroupArea = function({ - groupData = {} -} = {}) { - +export const GroupArea = function ({ groupData = {} } = {}) { this.data = groupData; this.element = { @@ -27,17 +24,21 @@ export const GroupArea = function({ header: node('div|class:group-header'), name: { name: node('div|class:group-name'), - text: node('h1|class:group-name-text') + text: node('h1|class:group-name-text'), }, control: { control: node('div|class:group-control'), - group: node('div|class:group-control-group form-group form-group-horizontal') + group: node( + 'div|class:group-control-group form-group form-group-horizontal' + ), }, toolbar: { toolbar: node('div|class:group-toolbar'), - group: node('div|class:group-toolbar-group form-group form-group-horizontal') + group: node( + 'div|class:group-toolbar-group form-group form-group-horizontal' + ), }, - body: node('div|class:group-body') + body: node('div|class:group-body'), }; this.control = {}; @@ -51,7 +52,6 @@ export const GroupArea = function({ title: message.get('groupAreaControlUp'), classList: ['group-control-button', 'group-control-up'], func: () => { - groupData.position.destination--; if (groupData.position.destination < 0) { @@ -63,8 +63,7 @@ export const GroupArea = function({ groupAndBookmark.render(); data.save(); - - } + }, }), sort: new Button({ text: message.get('groupAreaControlSort'), @@ -82,7 +81,6 @@ export const GroupArea = function({ title: message.get('groupAreaControlDown'), classList: ['group-control-button', 'group-control-up'], func: () => { - groupData.position.destination++; if (groupData.position.destination > bookmark.all.length - 1) { @@ -94,8 +92,7 @@ export const GroupArea = function({ groupAndBookmark.render(); data.save(); - - } + }, }), edit: new Button({ text: message.get('groupAreaControlEdit'), @@ -105,7 +102,6 @@ export const GroupArea = function({ title: message.get('groupAreaControlEdit'), classList: ['group-control-button', 'group-control-edit'], func: () => { - let newGroupData = new StagedGroup(); newGroupData.group = JSON.parse(JSON.stringify(groupData.group)); @@ -117,25 +113,26 @@ export const GroupArea = function({ const groupForm = new GroupForm({ groupData: newGroupData }); const editModal = new Modal({ - heading: isValidString(newGroupData.group.name.text) ? `${message.get('groupEditHeadingName')} ${newGroupData.group.name.text}` : message.get('groupEditHeadingUnnamed'), + heading: isValidString(newGroupData.group.name.text) + ? `${message.get('groupEditHeadingName')} ${ + newGroupData.group.name.text + }` + : message.get('groupEditHeadingUnnamed'), content: groupForm.form(), successText: message.get('groupEditSuccessText'), cancelText: message.get('groupEditCancelText'), width: 40, successAction: () => { - group.item.mod.edit(newGroupData); groupAndBookmark.render(); data.save(); - - } + }, }); editModal.open(); - - } + }, }), remove: new Button({ text: message.get('groupAreaControlRemove'), @@ -145,15 +142,17 @@ export const GroupArea = function({ title: message.get('groupAreaControlRemove'), classList: ['group-control-button', 'group-control-remove'], func: () => { - const removeModal = new Modal({ - heading: isValidString(groupData.group.name.text) ? `${message.get('groupRemoveHeadingName')} ${groupData.group.name.text}` : message.get('groupRemoveHeadingUnnamed'), + heading: isValidString(groupData.group.name.text) + ? `${message.get('groupRemoveHeadingName')} ${ + groupData.group.name.text + }` + : message.get('groupRemoveHeadingUnnamed'), content: message.get('groupRemoveContent'), successText: message.get('groupRemoveSuccessText'), cancelText: message.get('groupRemoveCancelText'), width: 'small', successAction: () => { - group.item.mod.remove(groupData); layout.area.assemble(); @@ -161,14 +160,12 @@ export const GroupArea = function({ groupAndBookmark.render(); data.save(); - - } + }, }); removeModal.open(); - - } - }) + }, + }), }; this.openAll = { @@ -181,20 +178,15 @@ export const GroupArea = function({ classList: ['group-toolbar-button', 'group-toolbar-open-all'], func: () => { this.openAll.open(); - } + }, }), open: () => { - if ('tabs' in chrome) { - if (state.get.current().bookmark.newTab) { - groupData.group.items.forEach((item) => { chrome.tabs.create({ url: item.url }); }); - } else { - const first = groupData.group.items.shift(); groupData.group.items.forEach((item) => { @@ -202,12 +194,9 @@ export const GroupArea = function({ }); window.location.href = first.url; - } - } - - } + }, }; this.collapse = { @@ -223,21 +212,17 @@ export const GroupArea = function({ this.collapse.video(); this.update.style(); data.save(); - } + }, }), toggle: () => { - if (groupData.group.collapse) { groupData.group.collapse = false; } else { groupData.group.collapse = true; } - }, video: () => { - bookmark.tile.current.forEach((item) => { - if (item.data.position.origin.group === groupData.position.origin) { if (item.video) { if (groupData.group.collapse) { @@ -247,46 +232,40 @@ export const GroupArea = function({ } } } - }); - - } + }, }; this.style = () => { - if (groupData.group.name.show && isValidString(groupData.group.name.text)) { this.element.group.classList.add('is-group-header'); } - if (groupData.group.toolbar.collapse.show || (groupData.group.toolbar.openAll.show && groupData.group.items.length > 0)) { + if ( + groupData.group.toolbar.collapse.show || + (groupData.group.toolbar.openAll.show && groupData.group.items.length > 0) + ) { this.element.group.classList.add('is-group-toolbar'); } - }; this.control.disable = () => { - for (var key in this.control.button) { this.control.button[key].disable(); } this.control.searchState(); - }; this.control.enable = () => { - for (var key in this.control.button) { this.control.button[key].enable(); } this.control.searchState(); - }; this.control.searchState = () => { - if (state.get.current().search) { this.control.button.up.disable(); this.control.button.down.disable(); @@ -296,11 +275,9 @@ export const GroupArea = function({ this.control.button.down.enable(); this.control.button.sort.enable(); } - }; this.assemble = () => { - this.element.name.text.innerHTML = groupData.group.name.text; this.element.name.name.appendChild(this.element.name.text); @@ -327,16 +304,20 @@ export const GroupArea = function({ this.element.toolbar.group.appendChild(this.collapse.button.button); } - if (groupData.group.toolbar.openAll.show && groupData.group.items.length > 0) { + if ( + groupData.group.toolbar.openAll.show && + groupData.group.items.length > 0 + ) { this.element.toolbar.group.appendChild(this.openAll.button.button); } - if (groupData.group.toolbar.collapse.show || (groupData.group.toolbar.openAll.show && groupData.group.items.length > 0)) { - + if ( + groupData.group.toolbar.collapse.show || + (groupData.group.toolbar.openAll.show && groupData.group.items.length > 0) + ) { this.element.toolbar.toolbar.appendChild(this.element.toolbar.group); this.element.header.appendChild(this.element.toolbar.toolbar); - } this.element.group.appendChild(this.element.header); @@ -350,55 +331,40 @@ export const GroupArea = function({ } else { this.control.disable(); } - }; this.clear = () => { - clearChildNode(this.element.body); - }; this.group = () => { - return this.element.group; - }; this.update = {}; this.update.style = () => { - const html = document.querySelector('html'); if (state.get.current().theme.group.toolbar.opacity < 40) { - html.classList.add('is-group-toolbar-opacity-low'); this.openAll.button.style.update(['link']); this.collapse.button.style.update(['link']); - } else { - html.classList.remove('is-group-toolbar-opacity-low'); this.openAll.button.style.update(['line']); this.collapse.button.style.update(['line']); - } if (groupData.group.collapse) { - this.element.group.classList.add('is-group-collapse'); - } else { - this.element.group.classList.remove('is-group-collapse'); - } - }; this.style(); @@ -406,5 +372,4 @@ export const GroupArea = function({ this.assemble(); this.update.style(); - }; diff --git a/src/component/groupDefault/index.js b/src/component/groupDefault/index.js index c58aa626..03b611bf 100644 --- a/src/component/groupDefault/index.js +++ b/src/component/groupDefault/index.js @@ -4,7 +4,7 @@ export const groupDefault = { toolbar: { size: 100, openAll: { show: true }, - collapse: { show: true } + collapse: { show: true }, }, - items: [] + items: [], }; diff --git a/src/component/groupEmpty/index.js b/src/component/groupEmpty/index.js index 91bfc32a..20855b78 100644 --- a/src/component/groupEmpty/index.js +++ b/src/component/groupEmpty/index.js @@ -6,14 +6,13 @@ import { node } from '../../utility/node'; import './index.css'; -export const GroupEmpty = function ({ - groupIndex = false -} = {}) { - +export const GroupEmpty = function ({ groupIndex = false } = {}) { this.element = { empty: node('div|class:group-empty'), control: node('div|class:group-empty-control'), - headline: node('p:No Bookmarks in this Group|class:group-empty-headline small muted') + headline: node( + 'p:No Bookmarks in this Group|class:group-empty-headline small muted' + ), }; this.control = {}; @@ -25,28 +24,23 @@ export const GroupEmpty = function ({ size: 'small', func: () => { bookmark.add.render({ - groupIndex: groupIndex + groupIndex: groupIndex, }); - } - }) + }, + }), }; this.assemble = () => { - this.element.empty.appendChild(this.element.headline); this.element.control.appendChild(this.control.button.bookmark.button); this.element.empty.appendChild(this.element.control); - }; this.empty = () => { - this.assemble(); return this.element.empty; - }; - }; diff --git a/src/component/groupForm/index.js b/src/component/groupForm/index.js index 97865e25..a45071c7 100644 --- a/src/component/groupForm/index.js +++ b/src/component/groupForm/index.js @@ -17,23 +17,18 @@ import { randomNumber } from '../../utility/randomNumber'; import './index.css'; -export const GroupForm = function({ - groupData = false -} = {}) { - +export const GroupForm = function ({ groupData = false } = {}) { this.element = { form: node('form|class:group-form'), - main: node('div|class:group-form-main') + main: node('div|class:group-form-main'), }; this.selectOption = {}; this.selectOption.group = () => { - const option = []; if (bookmark.all.length > 0) { - let count = bookmark.all.length; if (groupData.type.new) { @@ -41,19 +36,13 @@ export const GroupForm = function({ } for (var i = 1; i <= count; i++) { - option.push(ordinalNumber(i)); - } - } else { - option.push(ordinalNumber(1)); - } return option; - }; this.control = {}; @@ -67,7 +56,7 @@ export const GroupForm = function({ labelText: message.get('groupFormNameShow'), action: () => { this.disable(); - } + }, }), text: new Control_text({ object: groupData.group, @@ -76,16 +65,18 @@ export const GroupForm = function({ value: groupData.group.name.text, placeholder: message.get('groupFormNameTextPlaceholder'), labelText: message.get('groupFormNameTextLabel'), - srOnly: true + srOnly: true, }), random: new Button({ text: message.get('groupFormNameRandom'), style: ['line'], func: () => { - groupData.group.name.text = randomString({ adjectivesCount: randomNumber(1, 3) }); + groupData.group.name.text = randomString({ + adjectivesCount: randomNumber(1, 3), + }); this.control.group.name.text.update(); - } - }) + }, + }), }, collapse: { show: new Control_checkbox({ @@ -93,8 +84,8 @@ export const GroupForm = function({ path: 'toolbar.collapse.show', id: 'toolbar-collapse-show', labelText: message.get('groupFormCollapseShowLabel'), - description: message.get('groupFormCollapseShowDescription') - }) + description: message.get('groupFormCollapseShowDescription'), + }), }, openAll: { show: new Control_checkbox({ @@ -102,9 +93,9 @@ export const GroupForm = function({ path: 'toolbar.openAll.show', id: 'toolbar-openAll-show', labelText: message.get('groupFormOpenAllShowLabel'), - description: message.get('groupFormOpenAllShowDescription') - }) - } + description: message.get('groupFormOpenAllShowDescription'), + }), + }, }; this.control.destination = new Control_select({ @@ -113,11 +104,10 @@ export const GroupForm = function({ id: 'position-destination', labelText: message.get('groupFormDestination'), option: this.selectOption.group(), - selected: groupData.position.destination + selected: groupData.position.destination, }); this.disable = () => { - if (groupData.group.name.show) { this.control.group.name.text.enable(); this.control.group.name.random.enable(); @@ -125,7 +115,6 @@ export const GroupForm = function({ this.control.group.name.text.disable(); this.control.group.name.random.disable(); } - }; this.update = () => { @@ -134,7 +123,6 @@ export const GroupForm = function({ }; this.assemble = () => { - this.element.main.appendChild( form.fieldset({ children: [ @@ -142,9 +130,9 @@ export const GroupForm = function({ children: [ node('div|class:group-form-description', [ node(`h2:${message.get('groupFormSectionNameHeading')}`), - node(`p:${message.get('groupFormSectionNameDescription')}`) - ]) - ] + node(`p:${message.get('groupFormSectionNameDescription')}`), + ]), + ], }), form.wrap({ children: [ @@ -156,22 +144,20 @@ export const GroupForm = function({ form.indent({ children: [ this.control.group.name.text.wrap(), - this.control.group.name.random.wrap() - ] - }) - ] - }) - ] - }) - ] - }) - ] + this.control.group.name.random.wrap(), + ], + }), + ], + }), + ], + }), + ], + }), + ], }) ); - this.element.main.appendChild( - node('hr'), - ); + this.element.main.appendChild(node('hr')); this.element.main.appendChild( form.fieldset({ @@ -180,27 +166,25 @@ export const GroupForm = function({ children: [ node('div|class:group-form-description', [ node(`h2:${message.get('groupFormSectionToolbarHeading')}`), - node(`p:${message.get('groupFormSectionToolbarDescription')}`) - ]) - ] + node(`p:${message.get('groupFormSectionToolbarDescription')}`), + ]), + ], }), form.wrap({ children: [ form.indent({ children: [ this.control.group.collapse.show.wrap(), - this.control.group.openAll.show.wrap() - ] - }) - ] - }) - ] + this.control.group.openAll.show.wrap(), + ], + }), + ], + }), + ], }) ); - this.element.main.appendChild( - node('hr'), - ); + this.element.main.appendChild(node('hr')); this.element.main.appendChild( form.fieldset({ @@ -209,43 +193,37 @@ export const GroupForm = function({ children: [ node('div|class:group-form-description', [ node(`h2:${message.get('groupFormSectionOrderingHeading')}`), - node(`p:${message.get('groupFormSectionOrderingDescription')}`) - ]) - ] + node(`p:${message.get('groupFormSectionOrderingDescription')}`), + ]), + ], }), form.wrap({ children: [ form.indent({ - children: [ - this.control.destination.wrap() - ] - }) - ] - }) - ] + children: [this.control.destination.wrap()], + }), + ], + }), + ], }) ); this.element.form.appendChild(this.element.main); this.bind(); - }; this.bind = () => { - this.element.form.addEventListener('keydown', (event) => { - - if (event.keyCode == 13) { event.preventDefault(); return false; } - + if (event.keyCode == 13) { + event.preventDefault(); + return false; + } }); - }; this.form = () => { - return this.element.form; - }; this.assemble(); @@ -253,5 +231,4 @@ export const GroupForm = function({ this.disable(); this.update(); - }; diff --git a/src/component/header/index.css b/src/component/header/index.css index 2adc3e52..51484c32 100644 --- a/src/component/header/index.css +++ b/src/component/header/index.css @@ -12,40 +12,57 @@ } .is-theme-header-color-by-custom .header-area { - background-color: hsla(var(--theme-header-color-hsl-h), calc(var(--theme-header-color-hsl-s) * 1%), calc(var(--theme-header-color-hsl-l) * 1%), calc(var(--theme-header-color-opacity) / 100)); + background-color: hsla( + var(--theme-header-color-hsl-h), + calc(var(--theme-header-color-hsl-s) * 1%), + calc(var(--theme-header-color-hsl-l) * 1%), + calc(var(--theme-header-color-opacity) / 100) + ); border-radius: calc(var(--theme-radius) * 0.01em); } -.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-layout-divider-size.is-theme-header-color-by-custom .header-area, -.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-layout-color-by-custom .header-area, -.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-header-color-by-custom.is-theme-bookmark-color-by-custom .header-area { +.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-layout-divider-size.is-theme-header-color-by-custom + .header-area, +.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-layout-color-by-custom + .header-area, +.is-layout-order-header-bookmark.is-layout-direction-vertical.is-theme-header-color-by-custom.is-theme-bookmark-color-by-custom + .header-area { border-top-left-radius: calc(var(--theme-radius) * 0.01em); border-top-right-radius: calc(var(--theme-radius) * 0.01em); border-bottom-left-radius: 0; border-bottom-right-radius: 0; } -.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-layout-divider-size.is-theme-header-color-by-custom .header-area, -.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-layout-color-by-custom .header-area, -.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-header-color-by-custom.is-theme-bookmark-color-by-custom .header-area { +.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-layout-divider-size.is-theme-header-color-by-custom + .header-area, +.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-layout-color-by-custom + .header-area, +.is-layout-order-bookmark-header.is-layout-direction-vertical.is-theme-header-color-by-custom.is-theme-bookmark-color-by-custom + .header-area { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: calc(var(--theme-radius) * 0.01em); border-bottom-right-radius: calc(var(--theme-radius) * 0.01em); } -.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-layout-divider-size.is-theme-header-color-by-custom .header-area, -.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-layout-color-by-custom .header-area, -.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-header-color-by-custom.is-theme-bookmark-color-by-custom .header-area { +.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-layout-divider-size.is-theme-header-color-by-custom + .header-area, +.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-layout-color-by-custom + .header-area, +.is-layout-order-header-bookmark.is-layout-direction-horizontal.is-theme-header-color-by-custom.is-theme-bookmark-color-by-custom + .header-area { border-top-left-radius: calc(var(--theme-radius) * 0.01em); border-top-right-radius: 0; border-bottom-left-radius: calc(var(--theme-radius) * 0.01em); border-bottom-right-radius: 0; } -.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-layout-divider-size.is-theme-header-color-by-custom .header-area, -.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-layout-color-by-custom .header-area, -.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-header-color-by-custom.is-theme-bookmark-color-by-custom .header-area { +.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-layout-divider-size.is-theme-header-color-by-custom + .header-area, +.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-layout-color-by-custom + .header-area, +.is-layout-order-bookmark-header.is-layout-direction-horizontal.is-theme-header-color-by-custom.is-theme-bookmark-color-by-custom + .header-area { border-top-left-radius: 0; border-top-right-radius: calc(var(--theme-radius) * 0.01em); border-bottom-left-radius: 0; @@ -89,9 +106,11 @@ } .header-border-top { - border-top: calc(var(--layout-line-width) * var(--header-border-top)) solid rgb(var(--theme-accent)); + border-top: calc(var(--layout-line-width) * var(--header-border-top)) solid + rgb(var(--theme-accent)); } .header-border-bottom { - border-bottom: calc(var(--layout-line-width) * var(--header-border-bottom)) solid rgb(var(--theme-accent)); + border-bottom: calc(var(--layout-line-width) * var(--header-border-bottom)) + solid rgb(var(--theme-accent)); } diff --git a/src/component/header/index.js b/src/component/header/index.js index e48e9fd3..f2140b93 100644 --- a/src/component/header/index.js +++ b/src/component/header/index.js @@ -32,238 +32,225 @@ header.element = { search: false, border: { top: node('div|class:header-border-top'), - bottom: node('div|class:header-border-bottom') - } + bottom: node('div|class:header-border-bottom'), + }, }; header.item = {}; header.item.mod = { move: (origin, destination) => { - const itemToMove = state.get.current().header.order.splice(origin, 1); state.get.current().header.order.splice(destination, 0, itemToMove[0]); - }, order: () => { - - const headerItems = ['greeting', 'transitional', 'clock', 'date', 'search', 'toolbar']; + const headerItems = [ + 'greeting', + 'transitional', + 'clock', + 'date', + 'search', + 'toolbar', + ]; headerItems.reverse().forEach((item) => { - switch (item) { - case 'clock': - - if (state.get.current().header.clock.second.show || + if ( + state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || - state.get.current().header.clock.hour.show) { - + state.get.current().header.clock.hour.show + ) { if (!state.get.current().header.order.includes(item)) { - let position = 0; - if (state.get.current().header.date.day.show || + if ( + state.get.current().header.date.day.show || state.get.current().header.date.date.show || state.get.current().header.date.month.show || - state.get.current().header.date.year.show) { - + state.get.current().header.date.year.show + ) { position = state.get.current().header.order.indexOf('date'); - } else if (state.get.current().header.transitional.show) { - - position = state.get.current().header.order.indexOf('transitional') + 1; - + position = + state.get.current().header.order.indexOf('transitional') + 1; } else if (state.get.current().header.greeting.show) { - - position = state.get.current().header.order.indexOf('greeting') + 1; - + position = + state.get.current().header.order.indexOf('greeting') + 1; } state.get.current().header.order.splice(position, 0, item); - } - } else { - if (state.get.current().header.order.includes(item)) { - state.get.current().header.order.splice(state.get.current().header.order.indexOf(item), 1); + state.get + .current() + .header.order.splice( + state.get.current().header.order.indexOf(item), + 1 + ); } - } break; case 'date': - - if (state.get.current().header.date.day.show || + if ( + state.get.current().header.date.day.show || state.get.current().header.date.date.show || state.get.current().header.date.month.show || - state.get.current().header.date.year.show) { - + state.get.current().header.date.year.show + ) { if (!state.get.current().header.order.includes(item)) { - let position = 0; - if (state.get.current().header.clock.second.show || + if ( + state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || - state.get.current().header.clock.hour.show) { - - position = state.get.current().header.order.indexOf('clock') + 1; - + state.get.current().header.clock.hour.show + ) { + position = + state.get.current().header.order.indexOf('clock') + 1; } else if (state.get.current().header.transitional.show) { - - position = state.get.current().header.order.indexOf('transitional') + 1; - + position = + state.get.current().header.order.indexOf('transitional') + 1; } else if (state.get.current().header.greeting.show) { - - position = state.get.current().header.order.indexOf('greeting') + 1; - + position = + state.get.current().header.order.indexOf('greeting') + 1; } state.get.current().header.order.splice(position, 0, item); - } - } else { - if (state.get.current().header.order.includes(item)) { - state.get.current().header.order.splice(state.get.current().header.order.indexOf(item), 1); + state.get + .current() + .header.order.splice( + state.get.current().header.order.indexOf(item), + 1 + ); } - } break; case 'transitional': - if (state.get.current().header.transitional.show) { - if (!state.get.current().header.order.includes(item)) { - let position = 0; - if (state.get.current().header.clock.second.show || + if ( + state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || - state.get.current().header.clock.hour.show) { - + state.get.current().header.clock.hour.show + ) { position = state.get.current().header.order.indexOf('clock'); - - } else if (state.get.current().header.date.day.show || + } else if ( + state.get.current().header.date.day.show || state.get.current().header.date.date.show || state.get.current().header.date.month.show || - state.get.current().header.date.year.show) { - + state.get.current().header.date.year.show + ) { position = state.get.current().header.order.indexOf('date'); - } state.get.current().header.order.splice(position, 0, item); - } - } else { - if (state.get.current().header.order.includes(item)) { - state.get.current().header.order.splice(state.get.current().header.order.indexOf(item), 1); + state.get + .current() + .header.order.splice( + state.get.current().header.order.indexOf(item), + 1 + ); } - } break; case 'greeting': - if (state.get.current().header.greeting.show) { - if (!state.get.current().header.order.includes(item)) { - state.get.current().header.order.unshift(item); - } - } else { - if (state.get.current().header.order.includes(item)) { - state.get.current().header.order.splice(state.get.current().header.order.indexOf(item), 1); + state.get + .current() + .header.order.splice( + state.get.current().header.order.indexOf(item), + 1 + ); } - } break; case 'search': - if (state.get.current().header.search.show) { - if (!state.get.current().header.order.includes(item)) { - let position = 0; switch (state.get.current().toolbar.location) { - case 'header': - - position = state.get.current().header.order.indexOf('toolbar'); + position = state.get + .current() + .header.order.indexOf('toolbar'); break; default: - position = state.get.current().header.order.length; - } state.get.current().header.order.splice(position, 0, item); - } - } else { - if (state.get.current().header.order.includes(item)) { - state.get.current().header.order.splice(state.get.current().header.order.indexOf(item), 1); + state.get + .current() + .header.order.splice( + state.get.current().header.order.indexOf(item), + 1 + ); } - } break; case 'toolbar': - switch (state.get.current().toolbar.location) { - case 'corner': - if (state.get.current().header.order.includes(item)) { - state.get.current().header.order.splice(state.get.current().header.order.indexOf(item), 1); + state.get + .current() + .header.order.splice( + state.get.current().header.order.indexOf(item), + 1 + ); } break; case 'header': - if (!state.get.current().header.order.includes(item)) { state.get.current().header.order.push(item); } break; - } break; - } - }); - - } + }, }; header.item.current = []; header.item.render = () => { - const order = state.get.current().header.order; header.element.clock = new Clock(); @@ -277,115 +264,101 @@ header.item.render = () => { header.element.search = new Search(); order.forEach((item) => { - switch (item) { - case 'clock': - - if (state.get.current().header.clock.second.show || + if ( + state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || - state.get.current().header.clock.hour.show) { - + state.get.current().header.clock.hour.show + ) { const headerItem = new HeaderItem({ name: item, - child: header.element.clock.clock() + child: header.element.clock.clock(), }); header.item.current.push(headerItem); header.element.header.appendChild(headerItem.item()); - } break; case 'date': - - if (state.get.current().header.date.day.show || state.get.current().header.date.date.show || state.get.current().header.date.month.show || state.get.current().header.date.year.show) { - + if ( + state.get.current().header.date.day.show || + state.get.current().header.date.date.show || + state.get.current().header.date.month.show || + state.get.current().header.date.year.show + ) { const headerItem = new HeaderItem({ name: item, - child: header.element.date.date() + child: header.element.date.date(), }); header.item.current.push(headerItem); header.element.header.appendChild(headerItem.item()); - } break; case 'greeting': - if (state.get.current().header.greeting.show) { - const headerItem = new HeaderItem({ name: item, - child: header.element.greeting.greeting() + child: header.element.greeting.greeting(), }); header.item.current.push(headerItem); header.element.header.appendChild(headerItem.item()); - } break; case 'transitional': - if ( - (( - state.get.current().header.clock.second.show || + (state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || state.get.current().header.clock.hour.show || state.get.current().header.date.day.show || state.get.current().header.date.date.show || state.get.current().header.date.month.show || - state.get.current().header.date.year.show - )) && + state.get.current().header.date.year.show) && state.get.current().header.transitional.show ) { - const headerItem = new HeaderItem({ name: item, - child: header.element.transitional.transitional() + child: header.element.transitional.transitional(), }); header.item.current.push(headerItem); header.element.header.appendChild(headerItem.item()); - } break; case 'search': - if (state.get.current().header.search.show) { - const headerItem = new HeaderItem({ name: item, - child: header.element.search.search() + child: header.element.search.search(), }); header.item.current.push(headerItem); header.element.header.appendChild(headerItem.item()); - } break; case 'toolbar': - switch (state.get.current().toolbar.location) { - case 'header': { const headerItem = new HeaderItem({ name: item, - child: toolbar.current.toolbar() + child: toolbar.current.toolbar(), }); header.item.current.push(headerItem); @@ -394,13 +367,10 @@ header.item.render = () => { break; } - } break; - } - }); layout.element.header.appendChild(header.element.area); @@ -411,7 +381,6 @@ header.item.render = () => { animation: 500, easing: 'cubic-bezier(0.8, 0.8, 0.4, 1.4)', onEnd: (event) => { - // console.log('============ debug sort ============'); // console.log(event); // console.log('item:', 'origin', event.oldIndex, 'destination', event.newIndex); @@ -419,8 +388,7 @@ header.item.render = () => { header.item.mod.move(event.oldIndex, event.newIndex); data.save(); - - } + }, }); const html = document.querySelector('html'); @@ -430,64 +398,49 @@ header.item.render = () => { } else { html.classList.remove('is-header-show'); } - }; header.item.clear = () => { - clearChildNode(header.element.header); - }; header.area = { render: () => { - header.element.area.appendChild(header.element.header); - - } + }, }; header.edit = { open: () => { - state.get.current().header.edit = true; header.edit.render(); - }, close: () => { - state.get.current().header.edit = false; header.edit.render(); - }, toggle: () => { - if (state.get.current().header.edit) { header.edit.close(); } else { header.edit.open(); } - }, render: () => { - applyCSSState('header.edit'); if (header.item.current.length > 0) { header.item.current.forEach((item) => { - if (state.get.current().header.edit) { item.control.enable(); } else { item.control.disable(); } - }); } - - } + }, }; header.init = () => { @@ -502,19 +455,19 @@ header.init = () => { 'header.clock.size', 'header.date.size', 'header.search.size', - 'header.search.width.size' + 'header.search.width.size', ]); applyCSSClass([ 'header.item.justify', 'header.search.width.by', - 'header.search.text.justify' + 'header.search.text.justify', ]); applyCSSState([ 'header.greeting.newLine', 'header.clock.newLine', 'header.transitional.newLine', 'header.date.newLine', - 'header.search.newLine' + 'header.search.newLine', ]); }; diff --git a/src/component/headerItem/index.css b/src/component/headerItem/index.css index 87762445..2270c2dd 100644 --- a/src/component/headerItem/index.css +++ b/src/component/headerItem/index.css @@ -12,7 +12,8 @@ gap: calc(var(--layout-space) * var(--layout-gutter)); } -.is-layout-direction-horizontal.is-header-item-justify-right .header-item-content { +.is-layout-direction-horizontal.is-header-item-justify-right + .header-item-content { flex-direction: row-reverse; } @@ -37,7 +38,7 @@ box-shadow: var(--edge-on-accent); } -.header-sort-placeholder.header-item>* { +.header-sort-placeholder.header-item > * { visibility: hidden; } @@ -48,7 +49,7 @@ justify-content: stretch; } -.header-item-body>* { +.header-item-body > * { flex-grow: 1; } @@ -56,13 +57,16 @@ margin-left: calc(calc(var(--layout-space) * var(--layout-gutter)) * -1); height: 0; flex-grow: 0; - transition: height var(--layout-transition-extra-fast) var(--layout-duration-04), margin var(--layout-transition-extra-fast); + transition: height var(--layout-transition-extra-fast) + var(--layout-duration-04), + margin var(--layout-transition-extra-fast); } .is-header-edit .header-item-control { margin: 0; height: 2.5em; - transition: height var(--layout-transition-extra-fast), margin var(--layout-transition-extra-fast) var(--layout-duration-04); + transition: height var(--layout-transition-extra-fast), + margin var(--layout-transition-extra-fast) var(--layout-duration-04); } .is-edge .header-item-control { @@ -77,14 +81,15 @@ .is-header-edit .header-item-control-group { width: 4em; - transition: width var(--layout-transition-extra-fast) var(--layout-duration-04); + transition: width var(--layout-transition-extra-fast) + var(--layout-duration-04); } .is-edge.is-header-edit .header-item-control-group { transition: none; } -.header-sort-placeholder.header-item>* { +.header-sort-placeholder.header-item > * { visibility: hidden; } @@ -154,19 +159,27 @@ flex-grow: 1; } -.is-header-search-newline.is-header-search-width-by-custom .header-item-search .header-item-content { +.is-header-search-newline.is-header-search-width-by-custom + .header-item-search + .header-item-content { flex-grow: 0; width: calc(var(--header-search-width-size) * 1%); } -.is-header-item-justify-left.is-header-search-width-by-custom .header-item-search .header-item-content { +.is-header-item-justify-left.is-header-search-width-by-custom + .header-item-search + .header-item-content { justify-content: flex-start; } -.is-header-item-justify-center.is-header-search-width-by-custom .header-item-search .header-item-content { +.is-header-item-justify-center.is-header-search-width-by-custom + .header-item-search + .header-item-content { justify-content: center; } -.is-header-item-justify-right.is-header-search-width-by-custom .header-item-search .header-item-content { +.is-header-item-justify-right.is-header-search-width-by-custom + .header-item-search + .header-item-content { justify-content: flex-end; } diff --git a/src/component/headerItem/index.js b/src/component/headerItem/index.js index 0f714b01..dfa23aca 100644 --- a/src/component/headerItem/index.js +++ b/src/component/headerItem/index.js @@ -6,19 +6,17 @@ import { node } from '../../utility/node'; import './index.css'; -export const HeaderItem = function ({ - name = false, - child = false -} = {}) { - +export const HeaderItem = function ({ name = false, child = false } = {}) { this.element = { item: node('div|class:header-item header-item-' + name), content: node('div|class:header-item-content'), body: node('div|class:header-item-body'), control: { control: node('div|class:header-item-control'), - group: node('div|class:header-item-control-group form-group form-group-horizontal') - } + group: node( + 'div|class:header-item-control-group form-group form-group-horizontal' + ), + }, }; this.control = {}; @@ -31,7 +29,7 @@ export const HeaderItem = function ({ style: ['line'], title: 'Drag header item to reorder', classList: ['header-control-button', 'header-control-sort'], - }) + }), }; this.control.disable = () => { @@ -54,19 +52,15 @@ export const HeaderItem = function ({ this.element.content.appendChild(this.element.control.control); if (child) { - this.element.body.appendChild(child); this.element.content.appendChild(this.element.body); - } this.element.item.appendChild(this.element.content); - }; this.item = () => { - this.assemble(); if (state.get.current().group.edit) { @@ -76,7 +70,5 @@ export const HeaderItem = function ({ } return this.element.item; - }; - }; diff --git a/src/component/icon/index.js b/src/component/icon/index.js index d11c5692..ebd798e7 100644 --- a/src/component/icon/index.js +++ b/src/component/icon/index.js @@ -6,113 +6,112 @@ const icon = {}; icon.all = { add: { - path: 'M18.984 12.984h-6v6h-1.969v-6h-6v-1.969h6v-6h1.969v6h6v1.969z' + path: 'M18.984 12.984h-6v6h-1.969v-6h-6v-1.969h6v-6h1.969v6h6v1.969z', }, arrowBack: { - path: 'M20.016 11.016v1.969h-12.188l5.578 5.625-1.406 1.406-8.016-8.016 8.016-8.016 1.406 1.406-5.578 5.625h12.188z' + path: 'M20.016 11.016v1.969h-12.188l5.578 5.625-1.406 1.406-8.016-8.016 8.016-8.016 1.406 1.406-5.578 5.625h12.188z', }, arrowDownward: { - path: 'M20.016 12l-8.016 8.016-8.016-8.016 1.453-1.406 5.578 5.578v-12.188h1.969v12.188l5.625-5.578z' + path: 'M20.016 12l-8.016 8.016-8.016-8.016 1.453-1.406 5.578 5.578v-12.188h1.969v12.188l5.625-5.578z', }, arrowForward: { - path: 'M12 3.984l8.016 8.016-8.016 8.016-1.406-1.406 5.578-5.625h-12.188v-1.969h12.188l-5.578-5.625z' + path: 'M12 3.984l8.016 8.016-8.016 8.016-1.406-1.406 5.578-5.625h-12.188v-1.969h12.188l-5.578-5.625z', }, arrowUpward: { - path: 'M3.984 12l8.016-8.016 8.016 8.016-1.453 1.406-5.578-5.578v12.188h-1.969v-12.188l-5.625 5.578z' + path: 'M3.984 12l8.016-8.016 8.016 8.016-1.453 1.406-5.578-5.578v12.188h-1.969v-12.188l-5.625 5.578z', }, check: { - path: 'M9 16.172l10.594-10.594 1.406 1.406-12 12-5.578-5.578 1.406-1.406z' + path: 'M9 16.172l10.594-10.594 1.406 1.406-12 12-5.578-5.578 1.406-1.406z', }, cross: { - path: 'M18.984 6.422l-5.578 5.578 5.578 5.578-1.406 1.406-5.578-5.578-5.578 5.578-1.406-1.406 5.578-5.578-5.578-5.578 1.406-1.406 5.578 5.578 5.578-5.578z' + path: 'M18.984 6.422l-5.578 5.578 5.578 5.578-1.406 1.406-5.578-5.578-5.578 5.578-1.406-1.406 5.578-5.578-5.578-5.578 1.406-1.406 5.578 5.578 5.578-5.578z', }, arrowKeyboardDown: { - path: 'M7.406 7.828l4.594 4.594 4.594-4.594 1.406 1.406-6 6-6-6z' + path: 'M7.406 7.828l4.594 4.594 4.594-4.594 1.406 1.406-6 6-6-6z', }, arrowKeyboardLeft: { - path: 'M15.422 16.078l-1.406 1.406-6-6 6-6 1.406 1.406-4.594 4.594z' + path: 'M15.422 16.078l-1.406 1.406-6-6 6-6 1.406 1.406-4.594 4.594z', }, arrowKeyboardRight: { - path: 'M8.578 16.359l4.594-4.594-4.594-4.594 1.406-1.406 6 6-6 6z' + path: 'M8.578 16.359l4.594-4.594-4.594-4.594 1.406-1.406 6 6-6 6z', }, arrowKeyboardUp: { - path: 'M7.406 15.422l-1.406-1.406 6-6 6 6-1.406 1.406-4.594-4.594z' + path: 'M7.406 15.422l-1.406-1.406 6-6 6 6-1.406 1.406-4.594-4.594z', }, edit: { - path: 'M20.719 7.031l-1.828 1.828-3.75-3.75 1.828-1.828c0.375-0.375 1.031-0.375 1.406 0l2.344 2.344c0.375 0.375 0.375 1.031 0 1.406zM3 17.25l11.063-11.063 3.75 3.75-11.063 11.063h-3.75v-3.75z' + path: 'M20.719 7.031l-1.828 1.828-3.75-3.75 1.828-1.828c0.375-0.375 1.031-0.375 1.406 0l2.344 2.344c0.375 0.375 0.375 1.031 0 1.406zM3 17.25l11.063-11.063 3.75 3.75-11.063 11.063h-3.75v-3.75z', }, moreHorizontal: { - path: 'M12 9.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016zM18 9.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016zM6 9.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016z' + path: 'M12 9.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016zM18 9.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016zM6 9.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016z', }, moreVertical: { - path: 'M12 15.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016zM12 9.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016zM12 8.016c-1.078 0-2.016-0.938-2.016-2.016s0.938-2.016 2.016-2.016 2.016 0.938 2.016 2.016-0.938 2.016-2.016 2.016z' + path: 'M12 15.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016zM12 9.984c1.078 0 2.016 0.938 2.016 2.016s-0.938 2.016-2.016 2.016-2.016-0.938-2.016-2.016 0.938-2.016 2.016-2.016zM12 8.016c-1.078 0-2.016-0.938-2.016-2.016s0.938-2.016 2.016-2.016 2.016 0.938 2.016 2.016-0.938 2.016-2.016 2.016z', }, redo: { - path: 'M18.422 10.594l3.563-3.609v9h-9l3.656-3.609q-2.25-1.875-5.156-1.875-2.391 0-4.617 1.594t-2.977 3.891l-2.344-0.75q1.031-3.188 3.773-5.203t6.164-2.016q3.984 0 6.938 2.578z' + path: 'M18.422 10.594l3.563-3.609v9h-9l3.656-3.609q-2.25-1.875-5.156-1.875-2.391 0-4.617 1.594t-2.977 3.891l-2.344-0.75q1.031-3.188 3.773-5.203t6.164-2.016q3.984 0 6.938 2.578z', }, refresh: { - path: 'M17.672 6.328l2.344-2.344v7.031h-7.031l3.234-3.234c-1.078-1.078-2.578-1.781-4.219-1.781-3.328 0-6 2.672-6 6s2.672 6 6 6c2.625 0 4.875-1.641 5.672-3.984h2.063c-0.891 3.469-3.984 6-7.734 6-4.406 0-7.969-3.609-7.969-8.016s3.563-8.016 7.969-8.016c2.203 0 4.219 0.891 5.672 2.344z' + path: 'M17.672 6.328l2.344-2.344v7.031h-7.031l3.234-3.234c-1.078-1.078-2.578-1.781-4.219-1.781-3.328 0-6 2.672-6 6s2.672 6 6 6c2.625 0 4.875-1.641 5.672-3.984h2.063c-0.891 3.469-3.984 6-7.734 6-4.406 0-7.969-3.609-7.969-8.016s3.563-8.016 7.969-8.016c2.203 0 4.219 0.891 5.672 2.344z', }, remove: { - path: 'M18.984 12.984h-13.969v-1.969h13.969v1.969z' + path: 'M18.984 12.984h-13.969v-1.969h13.969v1.969z', }, replay: { - path: 'M12 5.016q3.328 0 5.672 2.344t2.344 5.625q0 3.328-2.367 5.672t-5.648 2.344-5.648-2.344-2.367-5.672h2.016q0 2.484 1.758 4.242t4.242 1.758 4.242-1.758 1.758-4.242-1.758-4.242-4.242-1.758v4.031l-5.016-5.016 5.016-5.016v4.031z' + path: 'M12 5.016q3.328 0 5.672 2.344t2.344 5.625q0 3.328-2.367 5.672t-5.648 2.344-5.648-2.344-2.367-5.672h2.016q0 2.484 1.758 4.242t4.242 1.758 4.242-1.758 1.758-4.242-1.758-4.242-4.242-1.758v4.031l-5.016-5.016 5.016-5.016v4.031z', }, settings: { - path: 'M12 15.516c1.922 0 3.516-1.594 3.516-3.516s-1.594-3.516-3.516-3.516-3.516 1.594-3.516 3.516 1.594 3.516 3.516 3.516zM19.453 12.984l2.109 1.641c0.188 0.141 0.234 0.422 0.094 0.656l-2.016 3.469c-0.141 0.234-0.375 0.281-0.609 0.188l-2.484-0.984c-0.516 0.375-1.078 0.75-1.688 0.984l-0.375 2.625c-0.047 0.234-0.234 0.422-0.469 0.422h-4.031c-0.234 0-0.422-0.188-0.469-0.422l-0.375-2.625c-0.609-0.234-1.172-0.563-1.688-0.984l-2.484 0.984c-0.234 0.094-0.469 0.047-0.609-0.188l-2.016-3.469c-0.141-0.234-0.094-0.516 0.094-0.656l2.109-1.641c-0.047-0.328-0.047-0.656-0.047-0.984s0-0.656 0.047-0.984l-2.109-1.641c-0.188-0.141-0.234-0.422-0.094-0.656l2.016-3.469c0.141-0.234 0.375-0.281 0.609-0.188l2.484 0.984c0.516-0.375 1.078-0.75 1.688-0.984l0.375-2.625c0.047-0.234 0.234-0.422 0.469-0.422h4.031c0.234 0 0.422 0.188 0.469 0.422l0.375 2.625c0.609 0.234 1.172 0.563 1.688 0.984l2.484-0.984c0.234-0.094 0.469-0.047 0.609 0.188l2.016 3.469c0.141 0.234 0.094 0.516-0.094 0.656l-2.109 1.641c0.047 0.328 0.047 0.656 0.047 0.984s0 0.656-0.047 0.984z' + path: 'M12 15.516c1.922 0 3.516-1.594 3.516-3.516s-1.594-3.516-3.516-3.516-3.516 1.594-3.516 3.516 1.594 3.516 3.516 3.516zM19.453 12.984l2.109 1.641c0.188 0.141 0.234 0.422 0.094 0.656l-2.016 3.469c-0.141 0.234-0.375 0.281-0.609 0.188l-2.484-0.984c-0.516 0.375-1.078 0.75-1.688 0.984l-0.375 2.625c-0.047 0.234-0.234 0.422-0.469 0.422h-4.031c-0.234 0-0.422-0.188-0.469-0.422l-0.375-2.625c-0.609-0.234-1.172-0.563-1.688-0.984l-2.484 0.984c-0.234 0.094-0.469 0.047-0.609-0.188l-2.016-3.469c-0.141-0.234-0.094-0.516 0.094-0.656l2.109-1.641c-0.047-0.328-0.047-0.656-0.047-0.984s0-0.656 0.047-0.984l-2.109-1.641c-0.188-0.141-0.234-0.422-0.094-0.656l2.016-3.469c0.141-0.234 0.375-0.281 0.609-0.188l2.484 0.984c0.516-0.375 1.078-0.75 1.688-0.984l0.375-2.625c0.047-0.234 0.234-0.422 0.469-0.422h4.031c0.234 0 0.422 0.188 0.469 0.422l0.375 2.625c0.609 0.234 1.172 0.563 1.688 0.984l2.484-0.984c0.234-0.094 0.469-0.047 0.609 0.188l2.016 3.469c0.141 0.234 0.094 0.516-0.094 0.656l-2.109 1.641c0.047 0.328 0.047 0.656 0.047 0.984s0 0.656-0.047 0.984z', }, undo: { - path: 'M12.516 8.016q3.422 0 6.141 2.016t3.797 5.203l-2.344 0.75q-0.797-2.438-2.883-3.961t-4.711-1.523q-2.906 0-5.156 1.875l3.656 3.609h-9v-9l3.563 3.609q2.953-2.578 6.938-2.578z' + path: 'M12.516 8.016q3.422 0 6.141 2.016t3.797 5.203l-2.344 0.75q-0.797-2.438-2.883-3.961t-4.711-1.523q-2.906 0-5.156 1.875l3.656 3.609h-9v-9l3.563 3.609q2.953-2.578 6.938-2.578z', }, unfoldLess: { - path: 'M16.594 5.391l-4.594 4.594-4.594-4.594 1.406-1.406 3.188 3.188 3.188-3.188zM7.406 18.609l4.594-4.594 4.594 4.594-1.406 1.406-3.188-3.188-3.188 3.188z' + path: 'M16.594 5.391l-4.594 4.594-4.594-4.594 1.406-1.406 3.188 3.188 3.188-3.188zM7.406 18.609l4.594-4.594 4.594 4.594-1.406 1.406-3.188-3.188-3.188 3.188z', }, unfoldMore: { - path: 'M12 18.188l3.188-3.188 1.406 1.406-4.594 4.594-4.594-4.594 1.406-1.406zM12 5.813l-3.188 3.188-1.406-1.406 4.594-4.594 4.594 4.594-1.406 1.406z' + path: 'M12 18.188l3.188-3.188 1.406 1.406-4.594 4.594-4.594-4.594 1.406-1.406zM12 5.813l-3.188 3.188-1.406-1.406 4.594-4.594 4.594 4.594-1.406 1.406z', }, coffee: { - path: 'M20 3H4v10c0 2.21 1.79 4 4 4h6c2.21 0 4-1.79 4-4v-3h2c1.11 0 2-.9 2-2V5c0-1.11-.89-2-2-2zm0 5h-2V5h2v3zM4 19h16v2H4z' + path: 'M20 3H4v10c0 2.21 1.79 4 4 4h6c2.21 0 4-1.79 4-4v-3h2c1.11 0 2-.9 2-2V5c0-1.11-.89-2-2-2zm0 5h-2V5h2v3zM4 19h16v2H4z', }, drag: { - path: 'M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z' + path: 'M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z', }, bookmark: { - path: 'M17 3H7C5.9 3 5.01 3.9 5.01 5L5 21L12 18L19 21V5C19 3.9 18.1 3 17 3Z' + path: 'M17 3H7C5.9 3 5.01 3.9 5.01 5L5 21L12 18L19 21V5C19 3.9 18.1 3 17 3Z', }, addBookmark: { - path: 'M21 7H19V9H17V7H15V5H17V3H19V5H21V7ZM19 21L12 18L5 21V5C5 3.9 5.9 3 7 3H14C13.37 3.84 13 4.87 13 6C13 8.76 15.24 11 18 11C18.34 11 18.68 10.97 19 10.9V21Z' + path: 'M21 7H19V9H17V7H15V5H17V3H19V5H21V7ZM19 21L12 18L5 21V5C5 3.9 5.9 3 7 3H14C13.37 3.84 13 4.87 13 6C13 8.76 15.24 11 18 11C18.34 11 18.68 10.97 19 10.9V21Z', }, group: { path: 'M5 5C3.89543 5 3 5.89543 3 7V17C3 18.1046 3.89543 19 5 19H19C20.1046 19 21 18.1046 21 17V7C21 5.89543 20.1046 5 19 5H5ZM19 7H5V9H19V7Z', fill: 'evenodd', - clip: 'evenodd' + clip: 'evenodd', }, addGroup: { - path: 'M5 5H13.9996C13.5629 5.58141 13.25 6.26112 13.1 7H5V9H13.1C13.5633 11.2822 15.581 13 18 13C19.1256 13 20.1643 12.6281 21 12.0004V17C21 18.1046 20.1046 19 19 19H5C3.89543 19 3 18.1046 3 17V7C3 5.89543 3.89543 5 5 5Z M19 9H21V7H19V5H17V7H15V9H17V11H19V9Z' + path: 'M5 5H13.9996C13.5629 5.58141 13.25 6.26112 13.1 7H5V9H13.1C13.5633 11.2822 15.581 13 18 13C19.1256 13 20.1643 12.6281 21 12.0004V17C21 18.1046 20.1046 19 19 19H5C3.89543 19 3 18.1046 3 17V7C3 5.89543 3.89543 5 5 5Z M19 9H21V7H19V5H17V7H15V9H17V11H19V9Z', }, info: { - path: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z' + path: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z', }, warning: { - path: 'M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z' + path: 'M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z', }, propagate: { - path: 'M5.54 8.46L2 12L5.54 15.54L7.3 13.77L5.54 12L7.3 10.23L5.54 8.46ZM12 18.46L10.23 16.7L8.46 18.46L12 22L15.54 18.46L13.77 16.7L12 18.46ZM18.46 8.46L16.7 10.23L18.46 12L16.7 13.77L18.46 15.54L22 12L18.46 8.46ZM8.46 5.54L10.23 7.3L12 5.54L13.77 7.3L15.54 5.54L12 2L8.46 5.54Z M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z' + path: 'M5.54 8.46L2 12L5.54 15.54L7.3 13.77L5.54 12L7.3 10.23L5.54 8.46ZM12 18.46L10.23 16.7L8.46 18.46L12 22L15.54 18.46L13.77 16.7L12 18.46ZM18.46 8.46L16.7 10.23L18.46 12L16.7 13.77L18.46 15.54L22 12L18.46 8.46ZM8.46 5.54L10.23 7.3L12 5.54L13.77 7.3L15.54 5.54L12 2L8.46 5.54Z M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z', }, random: { - path: 'M10.59 9.17L5.41 4L4 5.41L9.17 10.58L10.59 9.17ZM14.5 4L16.54 6.04L4 18.59L5.41 20L17.96 7.46L20 9.5V4H14.5ZM14.83 13.41L13.42 14.82L16.55 17.95L14.5 20H20V14.5L17.96 16.54L14.83 13.41V13.41Z' + path: 'M10.59 9.17L5.41 4L4 5.41L9.17 10.58L10.59 9.17ZM14.5 4L16.54 6.04L4 18.59L5.41 20L17.96 7.46L20 9.5V4H14.5ZM14.83 13.41L13.42 14.82L16.55 17.95L14.5 20H20V14.5L17.96 16.54L14.83 13.41V13.41Z', }, openAll: { - path: 'M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h4v-2H5V8h14v10h-4v2h4c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm-7 6l-4 4h3v6h2v-6h3l-4-4z' + path: 'M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h4v-2H5V8h14v10h-4v2h4c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm-7 6l-4 4h3v6h2v-6h3l-4-4z', }, globe: { - path: 'M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z' - } + path: 'M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z', + }, }; icon.render = (name) => { - const iconElement = node('span|class:icon'); const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); @@ -144,7 +143,6 @@ icon.render = (name) => { iconElement.appendChild(svg); return iconElement; - }; export { icon }; diff --git a/src/component/importForm/index.js b/src/component/importForm/index.js index bbbe9047..dcc142f5 100644 --- a/src/component/importForm/index.js +++ b/src/component/importForm/index.js @@ -10,30 +10,29 @@ import { complexNode } from '../../utility/complexNode'; import './index.css'; -export const ImportForm = function({ +export const ImportForm = function ({ dataToImport = false, - state = false + state = false, } = {}) { - this.element = { form: node('form|class:import-form'), description: node('div|class:import-form-description', [ complexNode({ tag: 'p', - text: message.get('dataFormDescription') - }) - ]) + text: message.get('dataFormDescription'), + }), + ]), }; this.count = { bookmark: () => { - let count = 0; - dataToImport.bookmark.forEach((item) => { count = count + item.items.length; }); + dataToImport.bookmark.forEach((item) => { + count = count + item.items.length; + }); return count; - }, }; @@ -47,21 +46,29 @@ export const ImportForm = function({ labelText: message.get('dataFormBookmarkIncludeLabel'), description: [ message.get('dataFormBookmarkIncludeDescriptionPara1'), - message.get('dataFormBookmarkIncludeDescriptionPara2') + message.get('dataFormBookmarkIncludeDescriptionPara2'), ], action: () => { this.disable(); - } + }, }), type: new Control_radio({ object: state, radioGroup: [ - { id: 'bookmark-type-restore', labelText: message.get('dataFormBookmarkTypeRestore'), value: 'restore' }, - { id: 'bookmark-type-append', labelText: message.get('dataFormBookmarkTypeAppend'), value: 'append' } + { + id: 'bookmark-type-restore', + labelText: message.get('dataFormBookmarkTypeRestore'), + value: 'restore', + }, + { + id: 'bookmark-type-append', + labelText: message.get('dataFormBookmarkTypeAppend'), + value: 'append', + }, ], groupName: 'bookmark-type', - path: 'bookmark.type' - }) + path: 'bookmark.type', + }), }, theme: { include: new Control_checkbox({ @@ -69,8 +76,8 @@ export const ImportForm = function({ path: 'theme.include', id: 'theme-include', labelText: message.get('dataFormThemeIncludeLabel'), - description: message.get('dataFormThemeIncludeDescription') - }) + description: message.get('dataFormThemeIncludeDescription'), + }), }, setup: { include: new Control_checkbox({ @@ -78,50 +85,43 @@ export const ImportForm = function({ path: 'setup.include', id: 'setup-include', labelText: message.get('dataFormSetupIncludeLabel'), - description: message.get('dataFormSetupIncludeDescription') - }) - } - } + description: message.get('dataFormSetupIncludeDescription'), + }), + }, + }, }; this.disable = () => { - if (state.bookmark.include) { this.control.import.bookmark.type.enable(); } else { this.control.import.bookmark.type.disable(); } - }; this.assemble = () => { - - this.element.form.append(node('div', [ - this.element.description, - this.control.import.bookmark.include.wrap(), - form.wrap({ - children: [ - form.indent({ - children: [ - this.control.import.bookmark.type.wrap(), - ] - }) - ] - }), - node('hr'), - this.control.import.theme.include.wrap(), - node('hr'), - this.control.import.setup.include.wrap() - ])); - + this.element.form.append( + node('div', [ + this.element.description, + this.control.import.bookmark.include.wrap(), + form.wrap({ + children: [ + form.indent({ + children: [this.control.import.bookmark.type.wrap()], + }), + ], + }), + node('hr'), + this.control.import.theme.include.wrap(), + node('hr'), + this.control.import.setup.include.wrap(), + ]) + ); }; this.form = () => { - return this.element.form; - }; this.assemble(); - }; diff --git a/src/component/index.js b/src/component/index.js index 4dc9ed03..79afd375 100644 --- a/src/component/index.js +++ b/src/component/index.js @@ -40,5 +40,5 @@ export const component = { form, toolbar, groupAndBookmark, - message + message, }; diff --git a/src/component/keyboard/index.js b/src/component/keyboard/index.js index 344464cb..b9217421 100644 --- a/src/component/keyboard/index.js +++ b/src/component/keyboard/index.js @@ -17,14 +17,18 @@ const keyboard = {}; keyboard.esc = new KeyboardShortcut({ keycode: 27, action: () => { - if (state.get.current().bookmark.edit && !state.get.current().modal && !state.get.current().menu) { + if ( + state.get.current().bookmark.edit && + !state.get.current().modal && + !state.get.current().menu + ) { bookmark.edit.close(); group.edit.close(); header.edit.close(); toolbar.current.update.edit(); } data.save(); - } + }, }); keyboard.ctrAltD = new KeyboardShortcut({ @@ -37,7 +41,7 @@ keyboard.ctrAltD = new KeyboardShortcut({ themeSetting.control.style.update(); } data.save(); - } + }, }); keyboard.ctrAltA = new KeyboardShortcut({ @@ -48,7 +52,7 @@ keyboard.ctrAltA = new KeyboardShortcut({ if (!state.get.current().bookmark.add) { bookmark.add.render(); } - } + }, }); keyboard.ctrAltE = new KeyboardShortcut({ @@ -61,7 +65,7 @@ keyboard.ctrAltE = new KeyboardShortcut({ header.edit.toggle(); toolbar.current.update.edit(); data.save(); - } + }, }); keyboard.ctrAltG = new KeyboardShortcut({ @@ -73,7 +77,7 @@ keyboard.ctrAltG = new KeyboardShortcut({ group.add.render(); } data.save(); - } + }, }); keyboard.ctrAltM = new KeyboardShortcut({ @@ -82,7 +86,7 @@ keyboard.ctrAltM = new KeyboardShortcut({ alt: true, action: () => { menu.toggle(); - } + }, }); keyboard.ctrAltR = new KeyboardShortcut({ @@ -101,9 +105,9 @@ keyboard.ctrAltR = new KeyboardShortcut({ 'theme.accent.rgb.b', 'theme.accent.hsl.h', 'theme.accent.hsl.s', - 'theme.accent.hsl.l' + 'theme.accent.hsl.l', ]); - } + }, }); keyboard.init = () => { diff --git a/src/component/keyboardShortcut/index.js b/src/component/keyboardShortcut/index.js index 98ba3df4..bca246e5 100644 --- a/src/component/keyboardShortcut/index.js +++ b/src/component/keyboardShortcut/index.js @@ -2,25 +2,29 @@ export const KeyboardShortcut = function ({ keycode = false, ctrl = false, alt = false, - action = false + action = false, } = {}) { - this.action = () => { if (keycode) { - if ((event.keyCode == keycode) && (ctrl == event.ctrlKey) && (alt == event.altKey)) { - + if ( + event.keyCode == keycode && + ctrl == event.ctrlKey && + alt == event.altKey + ) { event.preventDefault(); if (action) { action(); } - } } }; - this.add = () => { window.addEventListener('keydown', this.action); }; - - this.remove = () => { window.removeEventListener('keydown', this.action); }; + this.add = () => { + window.addEventListener('keydown', this.action); + }; + this.remove = () => { + window.removeEventListener('keydown', this.action); + }; }; diff --git a/src/component/layout/index.css b/src/component/layout/index.css index d4914000..ad821c0d 100644 --- a/src/component/layout/index.css +++ b/src/component/layout/index.css @@ -24,11 +24,14 @@ --layout-duration-10: 1s; --layout-timing-ease: ease-in-out; --layout-timing-bounce: cubic-bezier(0.8, 0.8, 0.4, 1.4); - --layout-transition-extra-fast: var(--layout-duration-02) var(--layout-timing-ease); + --layout-transition-extra-fast: var(--layout-duration-02) + var(--layout-timing-ease); --layout-transition-fast: var(--layout-duration-04) var(--layout-timing-ease); - --layout-transition-medium: var(--layout-duration-06) var(--layout-timing-ease); + --layout-transition-medium: var(--layout-duration-06) + var(--layout-timing-ease); --layout-transition-slow: var(--layout-duration-08) var(--layout-timing-ease); - --layout-transition-extra-slow: var(--layout-duration-10) var(--layout-timing-ease); + --layout-transition-extra-slow: var(--layout-duration-10) + var(--layout-timing-ease); } :root { @@ -45,7 +48,12 @@ } .is-theme-layout-color-by-custom .layout { - background-color: hsla(var(--theme-layout-color-hsl-h), calc(var(--theme-layout-color-hsl-s) * 1%), calc(var(--theme-layout-color-hsl-l) * 1%), calc(var(--theme-layout-color-opacity) / 100)); + background-color: hsla( + var(--theme-layout-color-hsl-h), + calc(var(--theme-layout-color-hsl-s) * 1%), + calc(var(--theme-layout-color-hsl-l) * 1%), + calc(var(--theme-layout-color-opacity) / 100) + ); border-radius: calc(var(--theme-radius) * 0.01em); backdrop-filter: blur(calc(var(--theme-layout-color-blur) * 0.01em)); } @@ -97,7 +105,10 @@ justify-self: stretch; } -.is-theme-layout-divider-size:not(.is-theme-layout-color-by-custom):not(.is-theme-header-color-by-custom):not(.is-theme-bookmark-color-by-custom) .layout-divider { +.is-theme-layout-divider-size:not(.is-theme-layout-color-by-custom):not( + .is-theme-header-color-by-custom + ):not(.is-theme-bookmark-color-by-custom) + .layout-divider { border-radius: calc(var(--theme-radius) * 0.01em); } @@ -128,27 +139,33 @@ justify-content: center; } -.is-layout-direction-vertical.is-layout-area-header-justify-left .layout-header { +.is-layout-direction-vertical.is-layout-area-header-justify-left + .layout-header { align-self: flex-start; } -.is-layout-direction-vertical.is-layout-area-header-justify-center .layout-header { +.is-layout-direction-vertical.is-layout-area-header-justify-center + .layout-header { align-self: center; } -.is-layout-direction-vertical.is-layout-area-header-justify-right .layout-header { +.is-layout-direction-vertical.is-layout-area-header-justify-right + .layout-header { align-self: flex-end; } -.is-layout-direction-vertical.is-layout-area-bookmark-justify-left .layout-bookmark { +.is-layout-direction-vertical.is-layout-area-bookmark-justify-left + .layout-bookmark { align-self: flex-start; } -.is-layout-direction-vertical.is-layout-area-bookmark-justify-center .layout-bookmark { +.is-layout-direction-vertical.is-layout-area-bookmark-justify-center + .layout-bookmark { align-self: center; } -.is-layout-direction-vertical.is-layout-area-bookmark-justify-right .layout-bookmark { +.is-layout-direction-vertical.is-layout-area-bookmark-justify-right + .layout-bookmark { align-self: flex-end; } @@ -161,11 +178,17 @@ } .is-layout-direction-horizontal.is-bookmark-show .layout-header { - width: calc((var(--layout-area-header-width) - (var(--layout-area-bookmark-width) / 2)) * 1%); + width: calc( + (var(--layout-area-header-width) - (var(--layout-area-bookmark-width) / 2)) * + 1% + ); } .is-layout-direction-horizontal.is-header-show .layout-bookmark { - width: calc((var(--layout-area-bookmark-width) - (var(--layout-area-header-width) / 2)) * 1%); + width: calc( + (var(--layout-area-bookmark-width) - (var(--layout-area-header-width) / 2)) * + 1% + ); } .is-layout-direction-vertical .layout-header { @@ -176,19 +199,31 @@ width: calc(var(--layout-area-bookmark-width) * 1%); } -:not(.is-theme-layout-divider-size).is-theme-header-color-by-theme.is-theme-bookmark-color-by-theme.is-bookmark-show.is-layout-direction-vertical.is-layout-order-bookmark-header .layout-header { +:not( + .is-theme-layout-divider-size + ).is-theme-header-color-by-theme.is-theme-bookmark-color-by-theme.is-bookmark-show.is-layout-direction-vertical.is-layout-order-bookmark-header + .layout-header { margin-top: calc((var(--layout-space) * var(--layout-padding)) * -1); } -:not(.is-theme-layout-divider-size).is-theme-header-color-by-theme.is-theme-bookmark-color-by-theme.is-bookmark-show.is-layout-direction-vertical.is-layout-order-header-bookmark .layout-header { +:not( + .is-theme-layout-divider-size + ).is-theme-header-color-by-theme.is-theme-bookmark-color-by-theme.is-bookmark-show.is-layout-direction-vertical.is-layout-order-header-bookmark + .layout-header { margin-bottom: calc((var(--layout-space) * var(--layout-padding)) * -1); } -:not(.is-theme-layout-divider-size).is-theme-header-color-by-theme.is-theme-bookmark-color-by-theme.is-bookmark-show.is-layout-direction-horizontal.is-layout-order-bookmark-header .layout-header { +:not( + .is-theme-layout-divider-size + ).is-theme-header-color-by-theme.is-theme-bookmark-color-by-theme.is-bookmark-show.is-layout-direction-horizontal.is-layout-order-bookmark-header + .layout-header { margin-left: calc((var(--layout-space) * var(--layout-padding)) * -1); } -:not(.is-theme-layout-divider-size).is-theme-header-color-by-theme.is-theme-bookmark-color-by-theme.is-bookmark-show.is-layout-direction-horizontal.is-layout-order-header-bookmark .layout-header { +:not( + .is-theme-layout-divider-size + ).is-theme-header-color-by-theme.is-theme-bookmark-color-by-theme.is-bookmark-show.is-layout-direction-horizontal.is-layout-order-header-bookmark + .layout-header { margin-right: calc((var(--layout-space) * var(--layout-padding)) * -1); } diff --git a/src/component/layout/index.js b/src/component/layout/index.js index 55e6a2ef..318deecb 100644 --- a/src/component/layout/index.js +++ b/src/component/layout/index.js @@ -16,12 +16,11 @@ layout.element = { layout: node('div|class:layout'), header: node('div|class:layout-header'), bookmark: node('div|class:layout-bookmark'), - divider: node('div|class:layout-divider') + divider: node('div|class:layout-divider'), }; layout.area = { render: () => { - layout.area.assemble(); const body = document.querySelector('body'); @@ -29,114 +28,100 @@ layout.area = { body.appendChild(layout.element.layout); const resize = new ResizeObserver((entries) => { - const size = { sm: 550, md: 700, lg: 900, xl: 1100, xxl: 1600 }; let breakpoint; - entries.forEach(function(entry) { - + entries.forEach(function (entry) { if (entry.contentRect.width <= size.sm) { breakpoint = 'xs'; - } else if (entry.contentRect.width > size.sm && entry.contentRect.width <= size.md) { + } else if ( + entry.contentRect.width > size.sm && + entry.contentRect.width <= size.md + ) { breakpoint = 'sm'; - } else if (entry.contentRect.width > size.md && entry.contentRect.width <= size.lg) { + } else if ( + entry.contentRect.width > size.md && + entry.contentRect.width <= size.lg + ) { breakpoint = 'md'; - } else if (entry.contentRect.width > size.lg && entry.contentRect.width <= size.xl) { + } else if ( + entry.contentRect.width > size.lg && + entry.contentRect.width <= size.xl + ) { breakpoint = 'lg'; - } else if (entry.contentRect.width > size.xl && entry.contentRect.width <= size.xxl) { + } else if ( + entry.contentRect.width > size.xl && + entry.contentRect.width <= size.xxl + ) { breakpoint = 'xl'; } else if (entry.contentRect.width > size.xxl) { breakpoint = 'xxl'; } - }); state.get.current().layout.breakpoint = breakpoint; layout.breakpoint.render(); - }); resize.observe(layout.element.bookmark); - }, assemble: () => { - if ( - (state.get.current().header.clock.second.show || - state.get.current().header.clock.minute.show || - state.get.current().header.clock.hour.show) || - (state.get.current().header.date.day.show || - state.get.current().header.date.date.show || - state.get.current().header.date.month.show || - state.get.current().header.date.year.show) || + state.get.current().header.clock.second.show || + state.get.current().header.clock.minute.show || + state.get.current().header.clock.hour.show || + state.get.current().header.date.day.show || + state.get.current().header.date.date.show || + state.get.current().header.date.month.show || + state.get.current().header.date.year.show || state.get.current().header.greeting.show || state.get.current().header.search.show || state.get.current().toolbar.location === 'header' ) { - layout.element.layout.appendChild(layout.element.header); - } else { - if (layout.element.layout.contains(layout.element.header)) { - layout.element.layout.removeChild(layout.element.header); - } - } if (state.get.current().theme.layout.divider.size > 0) { - layout.element.layout.appendChild(layout.element.divider); - } else { - if (layout.element.layout.contains(layout.element.divider)) { - layout.element.layout.removeChild(layout.element.divider); - } - } if (state.get.current().bookmark.show) { - layout.element.layout.appendChild(layout.element.bookmark); - } else { - if (layout.element.layout.contains(layout.element.bookmark)) { - layout.element.layout.removeChild(layout.element.bookmark); - } - } - }, clear: () => { clearChildNode(layout.element.layout); - } + }, }; layout.header = { clear: () => { clearChildNode(layout.element.header); - } + }, }; layout.bookmark = { clear: () => { clearChildNode(layout.element.bookmark); - } + }, }; layout.breakpoint = { render: () => { - const html = document.querySelector('html'); const size = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl']; @@ -169,99 +154,95 @@ layout.breakpoint = { case 'xxl': html.classList.add('is-layout-breakpoint-xxl'); break; - } - } + }, }; layout.overscroll = { bind: () => { - if (state.get.current().layout.overscroll.unblur) { - window.addEventListener('scroll', layout.overscroll.unblur); - } else { - window.removeEventListener('scroll', layout.overscroll.unblur); - } - }, unblur: () => { - const html = document.querySelector('html'); const body = document.querySelector('body'); - const overscrollHeight = parseInt(window.innerHeight * (parseFloat(getComputedStyle(html).getPropertyValue('--layout-overscroll'), 10) / 100), 10); - - const bottomOfBody = (window.scrollY + window.innerHeight) - body.offsetHeight; // height of body not including the margin when scroll past end is true + const overscrollHeight = parseInt( + window.innerHeight * + (parseFloat( + getComputedStyle(html).getPropertyValue('--layout-overscroll'), + 10 + ) / + 100), + 10 + ); - if (body.offsetHeight < (window.scrollY + window.innerHeight)) { + const bottomOfBody = + window.scrollY + window.innerHeight - body.offsetHeight; // height of body not including the margin when scroll past end is true + if (body.offsetHeight < window.scrollY + window.innerHeight) { switch (state.get.current().theme.background.type) { - case 'image': - - html.style.setProperty('--theme-background-image-blur', parseInt(state.get.current().theme.background.image.blur - ((parseInt(((bottomOfBody) / overscrollHeight) * 100, 10) / 100) * state.get.current().theme.background.image.blur), 10)); + html.style.setProperty( + '--theme-background-image-blur', + parseInt( + state.get.current().theme.background.image.blur - + (parseInt((bottomOfBody / overscrollHeight) * 100, 10) / 100) * + state.get.current().theme.background.image.blur, + 10 + ) + ); break; case 'video': - - html.style.setProperty('--theme-background-video-blur', parseInt(state.get.current().theme.background.video.blur - ((parseInt(((bottomOfBody) / overscrollHeight) * 100, 10) / 100) * state.get.current().theme.background.video.blur), 10)); + html.style.setProperty( + '--theme-background-video-blur', + parseInt( + state.get.current().theme.background.video.blur - + (parseInt((bottomOfBody / overscrollHeight) * 100, 10) / 100) * + state.get.current().theme.background.video.blur, + 10 + ) + ); break; - } - } else { - applyCSSVar([ 'theme.background.image.blur', - 'theme.background.video.blur' + 'theme.background.video.blur', ]); - } - - } + }, }; layout.title = { render: () => { - const title = document.querySelector('title'); if (isValidString(state.get.current().layout.title)) { - title.textContent = trimString(state.get.current().layout.title); - } else { - title.textContent = 'New Tab'; - } - - } + }, }; layout.favicon = { render: () => { - const favicon = document.querySelector('.favicon'); if (isValidString(state.get.current().layout.favicon)) { - favicon.href = trimString(state.get.current().layout.favicon); - } else { - favicon.href = 'icon/favicon.svg'; - } - - } + }, }; layout.init = () => { @@ -271,7 +252,7 @@ layout.init = () => { 'layout.area.header.width', 'layout.area.bookmark.width', 'layout.padding', - 'layout.gutter' + 'layout.gutter', ]); applyCSSClass([ 'layout.alignment', @@ -279,15 +260,13 @@ layout.init = () => { 'layout.order', 'layout.area.header.justify', 'layout.area.bookmark.justify', - 'layout.scrollbar' - ]); - applyCSSState([ - 'layout.overscroll.active' + 'layout.scrollbar', ]); + applyCSSState(['layout.overscroll.active']); layout.area.render(); layout.title.render(); layout.favicon.render(); layout.overscroll.bind(); }; -export { layout }; \ No newline at end of file +export { layout }; diff --git a/src/component/link/index.js b/src/component/link/index.js index a1d0e493..81f137f7 100644 --- a/src/component/link/index.js +++ b/src/component/link/index.js @@ -13,27 +13,22 @@ export const Link = function ({ title = false, openNew = false, classList = [], - action = false + action = false, } = {}) { - this.element = { link: complexNode({ tag: 'a', - attr: [{ key: 'href', value: href }] - }) + attr: [{ key: 'href', value: href }], + }), }; this.assemble = () => { - if (linkButton) { - this.element.link.classList.add('button'); if (style.length > 0) { style.forEach((item) => { - switch (item) { - case 'link': this.element.link.classList.add('button-link'); break; @@ -45,12 +40,9 @@ export const Link = function ({ case 'ring': this.element.link.classList.add('button-ring'); break; - } }); - } - } const linkText = node('span:' + text); @@ -62,9 +54,7 @@ export const Link = function ({ this.element.link.appendChild(linkText); if (iconName) { - switch (iconPosition) { - case 'left': this.element.link.prepend(icon.render(iconName)); break; @@ -72,9 +62,7 @@ export const Link = function ({ case 'right': this.element.link.append(icon.render(iconName)); break; - } - } if (openNew) { @@ -90,17 +78,14 @@ export const Link = function ({ this.element.link.classList.add(item); }); } - }; this.bind = () => { - if (action) { this.element.link.addEventListener('click', () => { action(); }); } - }; this.link = () => { @@ -110,5 +95,4 @@ export const Link = function ({ this.assemble(); this.bind(); - }; diff --git a/src/component/logo/index.css b/src/component/logo/index.css index 7145a229..f1c53923 100644 --- a/src/component/logo/index.css +++ b/src/component/logo/index.css @@ -45,7 +45,8 @@ .logo-cross-x { animation-name: grow-x, spin; animation-duration: 0.4s, 0.6s; - animation-timing-function: var(--layout-timing-bounce), var(--layout-timing-ease); + animation-timing-function: var(--layout-timing-bounce), + var(--layout-timing-ease); animation-iteration-count: 1, 1; animation-delay: 0.4s, 0.8s; animation-fill-mode: backwards, forwards; @@ -54,7 +55,8 @@ .logo-cross-y { animation-name: grow-y, spin; animation-duration: 0.4s, 0.6s; - animation-timing-function: var(--layout-timing-bounce), var(--layout-timing-ease); + animation-timing-function: var(--layout-timing-bounce), + var(--layout-timing-ease); animation-iteration-count: 1, 1; animation-delay: 0.2s, 0.8s; animation-fill-mode: backwards, forwards; diff --git a/src/component/logo/index.js b/src/component/logo/index.js index 2d8d38a9..8c89e831 100644 --- a/src/component/logo/index.js +++ b/src/component/logo/index.js @@ -4,27 +4,25 @@ import { node } from '../../utility/node'; import './index.css'; -export const Logo = function() { - +export const Logo = function () { this.element = { logo: node('div|class:logo'), - svg: '' + + svg: + '' + '' + '' + '' + - '' + '', }; this.assemble = () => { - this.element.logo.innerHTML = this.element.svg; - }; this.bind = () => { - - this.element.logo.addEventListener('dblclick', () => { easterEgg.toaster.bind.add(); }); - + this.element.logo.addEventListener('dblclick', () => { + easterEgg.toaster.bind.add(); + }); }; this.logo = () => { @@ -34,5 +32,4 @@ export const Logo = function() { this.assemble(); this.bind(); - }; diff --git a/src/component/menu/index.js b/src/component/menu/index.js index de5ff4a7..e7e5a997 100644 --- a/src/component/menu/index.js +++ b/src/component/menu/index.js @@ -6,57 +6,99 @@ const menu = {}; menu.navData = [ // { name: 'debug', active: true, overscroll: true, sub: ['input', 'button', 'bookmark', 'icon'] }, - { name: 'theme', active: true, overscroll: true, sub: ['preset', 'saved', 'style', 'color', 'accent', 'font', 'radius', 'shadow', 'shade', 'opacity', 'background', 'layout', 'header', 'bookmark'] }, - { name: 'layout', active: false, overscroll: true, sub: ['scaling', 'area', 'padding', 'gutter', 'alignment', 'page'] }, - { name: 'header', active: false, overscroll: true, sub: ['alignment', 'greeting', 'transitional', 'clock', 'date', 'search'] }, - { name: 'bookmark', active: false, overscroll: true, sub: ['general', 'style', 'orientation', 'sort'] }, - { name: 'group', active: false, overscroll: true, sub: ['alignment', 'name', 'collapse', 'toolbar'] }, - { name: 'toolbar', active: false, overscroll: true, sub: ['size', 'location', 'position', 'controls'] }, - { name: 'data', active: false, overscroll: true, sub: ['restore', 'backup', 'clear'] }, + { + name: 'theme', + active: true, + overscroll: true, + sub: [ + 'preset', + 'saved', + 'style', + 'color', + 'accent', + 'font', + 'radius', + 'shadow', + 'shade', + 'opacity', + 'background', + 'layout', + 'header', + 'bookmark', + ], + }, + { + name: 'layout', + active: false, + overscroll: true, + sub: ['scaling', 'area', 'padding', 'gutter', 'alignment', 'page'], + }, + { + name: 'header', + active: false, + overscroll: true, + sub: ['alignment', 'greeting', 'transitional', 'clock', 'date', 'search'], + }, + { + name: 'bookmark', + active: false, + overscroll: true, + sub: ['general', 'style', 'orientation', 'sort'], + }, + { + name: 'group', + active: false, + overscroll: true, + sub: ['alignment', 'name', 'collapse', 'toolbar'], + }, + { + name: 'toolbar', + active: false, + overscroll: true, + sub: ['size', 'location', 'position', 'controls'], + }, + { + name: 'data', + active: false, + overscroll: true, + sub: ['restore', 'backup', 'clear'], + }, { name: 'language', active: false, overscroll: false }, { name: 'support', active: false, overscroll: false }, { name: 'coffee', active: false, overscroll: false }, - { name: 'app', active: false, overscroll: false } + { name: 'app', active: false, overscroll: false }, ]; menu.mod = {}; menu.element = { - frame: null + frame: null, }; menu.open = (name) => { - menu.element.frame = new MenuFrame({ - navData: menu.navData + navData: menu.navData, }); if (name) { - menu.element.frame.menuNav.state.toggle(name); - } menu.element.frame.open(); - }; menu.close = () => { - if (menu.element.frame) { menu.element.frame.close(); } - }; menu.toggle = () => { - if (state.get.current().menu) { menu.close(); } else { menu.open(); } - }; export { menu }; diff --git a/src/component/menuClose/index.js b/src/component/menuClose/index.js index 99c8483b..6faed99d 100644 --- a/src/component/menuClose/index.js +++ b/src/component/menuClose/index.js @@ -7,9 +7,8 @@ import { node } from '../../utility/node'; import './index.css'; export const MenuClose = function () { - this.element = { - close: node('div|class:menu-close') + close: node('div|class:menu-close'), }; this.button = new Button({ @@ -20,21 +19,16 @@ export const MenuClose = function () { classList: ['menu-close-button'], func: () => { menu.close(); - } + }, }); this.assemble = () => { - this.element.close.appendChild(this.button.button); - }; this.close = () => { - return this.element.close; - }; this.assemble(); - }; diff --git a/src/component/menuContent/appSetting/index.js b/src/component/menuContent/appSetting/index.js index a65ef934..149d3c09 100644 --- a/src/component/menuContent/appSetting/index.js +++ b/src/component/menuContent/appSetting/index.js @@ -12,13 +12,12 @@ import { Splash } from '../../splash'; const appSetting = {}; appSetting.app = (parent) => { - appSetting.app.para1 = node(`p:${message.get('menuContentAppPara1')}`); appSetting.app.link1 = new Link({ text: message.get('menuContentAppLink1'), href: `https://www.reddit.com/r/${APP_NAME}`, - openNew: true + openNew: true, }); appSetting.app.para2 = node(`p:${message.get('menuContentAppPara2')}`); @@ -26,13 +25,13 @@ appSetting.app = (parent) => { appSetting.app.link2 = new Link({ text: message.get('menuContentAppLink2'), href: `https://github.com/zombieFox/${APP_NAME}`, - openNew: true + openNew: true, }); appSetting.app.link3 = new Link({ text: message.get('menuContentAppLink3'), href: `https://github.com/zombieFox/${APP_NAME}/blob/master/license`, - openNew: true + openNew: true, }); const splash = new Splash(); @@ -45,32 +44,23 @@ appSetting.app = (parent) => { children: [ appSetting.app.para1, form.indent({ - children: [ - node('p', [ - appSetting.app.link1.link() - ]) - ] - }) - ] + children: [node('p', [appSetting.app.link1.link()])], + }), + ], }), form.wrap({ children: [ appSetting.app.para2, form.indent({ children: [ - node('p', [ - appSetting.app.link2.link() - ]), - node('p', [ - appSetting.app.link3.link() - ]) - ] - }) - ] - }) + node('p', [appSetting.app.link2.link()]), + node('p', [appSetting.app.link3.link()]), + ], + }), + ], + }), ]) ); - }; export { appSetting }; diff --git a/src/component/menuContent/bookmarkSetting/index.js b/src/component/menuContent/bookmarkSetting/index.js index c70c9919..a5f91223 100644 --- a/src/component/menuContent/bookmarkSetting/index.js +++ b/src/component/menuContent/bookmarkSetting/index.js @@ -28,11 +28,10 @@ bookmarkSetting.control = { general: {}, style: {}, orientation: {}, - sort: {} + sort: {}, }; bookmarkSetting.disable = () => { - if (state.get.current().bookmark.show) { bookmarkSetting.control.general.size.enable(); bookmarkSetting.control.general.urlShow.enable(); @@ -60,19 +59,18 @@ bookmarkSetting.disable = () => { bookmarkSetting.control.sort.icon.disable(); bookmarkSetting.control.sort.name.disable(); } - }; bookmarkSetting.edge = { - general: {} + general: {}, }; bookmarkSetting.general = (parent) => { - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0) { - - bookmarkSetting.edge.general.size = new Edge({ primary: bookmark.tile.current[0].tile(), secondary: [bookmark.element.area] }); - + bookmarkSetting.edge.general.size = new Edge({ + primary: bookmark.tile.current[0].tile(), + secondary: [bookmark.element.area], + }); } bookmarkSetting.control.general.show = new Control_checkbox({ @@ -81,7 +79,6 @@ bookmarkSetting.general = (parent) => { path: 'bookmark.show', labelText: message.get('menuContentBookmarkGeneralShow'), action: () => { - layout.area.assemble(); applyCSSState('bookmark.show'); @@ -89,24 +86,25 @@ bookmarkSetting.general = (parent) => { bookmarkSetting.disable(); if (bookmarkSetting.edge.general.size) { - - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0) { - - bookmarkSetting.edge.general.size.update.primary(bookmark.tile.current[0].tile()); - + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 + ) { + bookmarkSetting.edge.general.size.update.primary( + bookmark.tile.current[0].tile() + ); } - } else { - - bookmarkSetting.edge.general.size = new Edge({ primary: bookmark.tile.current[0].tile(), secondary: [bookmark.element.area] }); - + bookmarkSetting.edge.general.size = new Edge({ + primary: bookmark.tile.current[0].tile(), + secondary: [bookmark.element.area], + }); } bookmarkSetting.control.general.collapse.update(); data.save(); - - } + }, }); bookmarkSetting.control.general.urlShow = new Control_checkbox({ @@ -117,7 +115,7 @@ bookmarkSetting.general = (parent) => { action: () => { applyCSSState('bookmark.url.show'); data.save(); - } + }, }); bookmarkSetting.control.general.lineShow = new Control_checkbox({ @@ -128,7 +126,7 @@ bookmarkSetting.general = (parent) => { action: () => { applyCSSState('bookmark.line.show'); data.save(); - } + }, }); bookmarkSetting.control.general.shadowShow = new Control_checkbox({ @@ -140,7 +138,7 @@ bookmarkSetting.general = (parent) => { action: () => { applyCSSState('bookmark.shadow.show'); data.save(); - } + }, }); bookmarkSetting.control.general.hoverScaleShow = new Control_checkbox({ @@ -151,7 +149,7 @@ bookmarkSetting.general = (parent) => { action: () => { applyCSSState('bookmark.hoverScale.show'); data.save(); - } + }, }); bookmarkSetting.control.general.newTab = new Control_checkbox({ @@ -160,26 +158,26 @@ bookmarkSetting.general = (parent) => { path: 'bookmark.newTab', labelText: message.get('menuContentBookmarkGeneralNewTab'), action: () => { - groupAndBookmark.render(); if (bookmarkSetting.edge.general.size) { - - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0) { - - bookmarkSetting.edge.general.size.update.primary(bookmark.tile.current[0].tile()); - + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 + ) { + bookmarkSetting.edge.general.size.update.primary( + bookmark.tile.current[0].tile() + ); } - } else { - - bookmarkSetting.edge.general.size = new Edge({ primary: bookmark.tile.current[0].tile(), secondary: [bookmark.element.area] }); - + bookmarkSetting.edge.general.size = new Edge({ + primary: bookmark.tile.current[0].tile(), + secondary: [bookmark.element.area], + }); } data.save(); - - } + }, }); bookmarkSetting.control.general.size = new Control_slider({ @@ -193,15 +191,33 @@ bookmarkSetting.general = (parent) => { max: state.get.minMax().bookmark.size.max, action: () => { applyCSSVar('bookmark.size'); - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0 && bookmarkSetting.edge.general.size) { bookmarkSetting.edge.general.size.track(); } + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 && + bookmarkSetting.edge.general.size + ) { + bookmarkSetting.edge.general.size.track(); + } data.save(); }, mouseDownAction: () => { - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0 && bookmarkSetting.edge.general.size) { bookmarkSetting.edge.general.size.show(); } + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 && + bookmarkSetting.edge.general.size + ) { + bookmarkSetting.edge.general.size.show(); + } }, mouseUpAction: () => { - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0 && bookmarkSetting.edge.general.size) { bookmarkSetting.edge.general.size.hide(); } - } + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 && + bookmarkSetting.edge.general.size + ) { + bookmarkSetting.edge.general.size.hide(); + } + }, }); bookmarkSetting.control.general.area = node('div', [ @@ -210,15 +226,17 @@ bookmarkSetting.general = (parent) => { bookmarkSetting.control.general.shadowShow.wrap(), bookmarkSetting.control.general.hoverScaleShow.wrap(), bookmarkSetting.control.general.newTab.wrap(), - bookmarkSetting.control.general.size.wrap() + bookmarkSetting.control.general.size.wrap(), ]); bookmarkSetting.control.general.collapse = new Collapse({ type: 'checkbox', checkbox: bookmarkSetting.control.general.show, - target: [{ - content: bookmarkSetting.control.general.area - }] + target: [ + { + content: bookmarkSetting.control.general.area, + }, + ], }); parent.appendChild( @@ -227,31 +245,35 @@ bookmarkSetting.general = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - bookmarkSetting.control.general.collapse.collapse() - ] - }) - ] - }) + children: [bookmarkSetting.control.general.collapse.collapse()], + }), + ], + }), ]) ); - }; bookmarkSetting.style = (parent) => { - bookmarkSetting.control.style = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'bookmark-style-block', labelText: message.get('menuContentBookmarkStyleBlockLabel'), description: message.get('menuContentBookmarkStyleBlockDescription'), value: 'block' }, - { id: 'bookmark-style-list', labelText: message.get('menuContentBookmarkStyleListLabel'), description: message.get('menuContentBookmarkStyleListDescription'), value: 'list' } + { + id: 'bookmark-style-block', + labelText: message.get('menuContentBookmarkStyleBlockLabel'), + description: message.get('menuContentBookmarkStyleBlockDescription'), + value: 'block', + }, + { + id: 'bookmark-style-list', + labelText: message.get('menuContentBookmarkStyleListLabel'), + description: message.get('menuContentBookmarkStyleListDescription'), + value: 'list', + }, ], groupName: 'bookmark-style', path: 'bookmark.style', action: () => { - switch (state.get.current().bookmark.style) { - case 'block': bookmark.direction.mod.vertical(); break; @@ -259,7 +281,6 @@ bookmarkSetting.style = (parent) => { case 'list': bookmark.direction.mod.horizontal(); break; - } applyCSSClass('bookmark.style'); @@ -267,162 +288,164 @@ bookmarkSetting.style = (parent) => { groupAndBookmark.render(); if (bookmarkSetting.edge.general.size) { - - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0) { - - bookmarkSetting.edge.general.size.update.primary(bookmark.tile.current[0].tile()); - + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 + ) { + bookmarkSetting.edge.general.size.update.primary( + bookmark.tile.current[0].tile() + ); } - } else { - - bookmarkSetting.edge.general.size = new Edge({ primary: bookmark.tile.current[0].tile(), secondary: [bookmark.element.area] }); - + bookmarkSetting.edge.general.size = new Edge({ + primary: bookmark.tile.current[0].tile(), + secondary: [bookmark.element.area], + }); } data.save(); - - } + }, }); - parent.appendChild( - node('div', [ - bookmarkSetting.control.style.wrap(), - ]) - ); - + parent.appendChild(node('div', [bookmarkSetting.control.style.wrap()])); }; bookmarkSetting.orientation = (parent) => { - bookmarkSetting.control.orientation.orientationElement = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'bookmark-orientation-top', labelText: message.get('menuContentBookmarkOrientationTop'), value: 'top' }, - { id: 'bookmark-orientation-bottom', labelText: message.get('menuContentBookmarkOrientationBottom'), value: 'bottom' } + { + id: 'bookmark-orientation-top', + labelText: message.get('menuContentBookmarkOrientationTop'), + value: 'top', + }, + { + id: 'bookmark-orientation-bottom', + labelText: message.get('menuContentBookmarkOrientationBottom'), + value: 'bottom', + }, ], groupName: 'bookmark-orientation', path: 'bookmark.orientation', action: () => { - applyCSSClass('bookmark.orientation'); if (bookmarkSetting.edge.general.size) { - - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0) { - - bookmarkSetting.edge.general.size.update.primary(bookmark.tile.current[0].tile()); - + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 + ) { + bookmarkSetting.edge.general.size.update.primary( + bookmark.tile.current[0].tile() + ); } - } else { - - bookmarkSetting.edge.general.size = new Edge({ primary: bookmark.tile.current[0].tile(), secondary: [bookmark.element.area] }); - + bookmarkSetting.edge.general.size = new Edge({ + primary: bookmark.tile.current[0].tile(), + secondary: [bookmark.element.area], + }); } data.save(); - - } + }, }); - bookmarkSetting.control.orientation.orientationHelper = new Control_helperText({ - text: [message.get('menuContentBookmarkOrientationHelperPara1')] - }); + bookmarkSetting.control.orientation.orientationHelper = + new Control_helperText({ + text: [message.get('menuContentBookmarkOrientationHelperPara1')], + }); parent.appendChild( node('div', [ bookmarkSetting.control.orientation.orientationElement.inline(), - bookmarkSetting.control.orientation.orientationHelper.wrap() + bookmarkSetting.control.orientation.orientationHelper.wrap(), ]) ); - }; bookmarkSetting.sort = (parent) => { - bookmarkSetting.control.sort.letter = new Button({ text: message.get('menuContentBookmarkSortLetter'), style: ['line'], func: () => { - bookmark.item.mod.sort.letter(); groupAndBookmark.render(); if (bookmarkSetting.edge.general.size) { - - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0) { - - bookmarkSetting.edge.general.size.update.primary(bookmark.tile.current[0].tile()); - + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 + ) { + bookmarkSetting.edge.general.size.update.primary( + bookmark.tile.current[0].tile() + ); } - } else { - - bookmarkSetting.edge.general.size = new Edge({ primary: bookmark.tile.current[0].tile(), secondary: [bookmark.element.area] }); - + bookmarkSetting.edge.general.size = new Edge({ + primary: bookmark.tile.current[0].tile(), + secondary: [bookmark.element.area], + }); } data.save(); - - } + }, }); bookmarkSetting.control.sort.icon = new Button({ text: message.get('menuContentBookmarkSortIcon'), style: ['line'], func: () => { - bookmark.item.mod.sort.icon(); groupAndBookmark.render(); if (bookmarkSetting.edge.general.size) { - - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0) { - - bookmarkSetting.edge.general.size.update.primary(bookmark.tile.current[0].tile()); - + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 + ) { + bookmarkSetting.edge.general.size.update.primary( + bookmark.tile.current[0].tile() + ); } - } else { - - bookmarkSetting.edge.general.size = new Edge({ primary: bookmark.tile.current[0].tile(), secondary: [bookmark.element.area] }); - + bookmarkSetting.edge.general.size = new Edge({ + primary: bookmark.tile.current[0].tile(), + secondary: [bookmark.element.area], + }); } data.save(); - - } + }, }); bookmarkSetting.control.sort.name = new Button({ text: message.get('menuContentBookmarkSortName'), style: ['line'], func: () => { - bookmark.item.mod.sort.name(); groupAndBookmark.render(); if (bookmarkSetting.edge.general.size) { - - if (state.get.current().bookmark.show && bookmark.tile.current.length > 0) { - - bookmarkSetting.edge.general.size.update.primary(bookmark.tile.current[0].tile()); - + if ( + state.get.current().bookmark.show && + bookmark.tile.current.length > 0 + ) { + bookmarkSetting.edge.general.size.update.primary( + bookmark.tile.current[0].tile() + ); } - } else { - - bookmarkSetting.edge.general.size = new Edge({ primary: bookmark.tile.current[0].tile(), secondary: [bookmark.element.area] }); - + bookmarkSetting.edge.general.size = new Edge({ + primary: bookmark.tile.current[0].tile(), + secondary: [bookmark.element.area], + }); } data.save(); - - } + }, }); parent.appendChild( @@ -436,14 +459,13 @@ bookmarkSetting.sort = (parent) => { children: [ bookmarkSetting.control.sort.letter.wrap(), bookmarkSetting.control.sort.icon.wrap(), - bookmarkSetting.control.sort.name.wrap() - ] - }) - ] - }) + bookmarkSetting.control.sort.name.wrap(), + ], + }), + ], + }), ]) ); - }; export { bookmarkSetting }; diff --git a/src/component/menuContent/coffeeSetting/index.js b/src/component/menuContent/coffeeSetting/index.js index 652955e1..40a68849 100644 --- a/src/component/menuContent/coffeeSetting/index.js +++ b/src/component/menuContent/coffeeSetting/index.js @@ -10,28 +10,28 @@ import { complexNode } from '../../../utility/complexNode'; const coffeeSetting = {}; coffeeSetting.coffee = (parent) => { - parent.appendChild( node('div', [ complexNode({ tag: 'p', - text: message.get('menuContentCoffeePara') + text: message.get('menuContentCoffeePara'), }), form.wrap({ - children: [(new Link({ - text: message.get('menuContentCoffeeButton'), - href: 'https://www.buymeacoffee.com/zombieFox', - iconName: 'coffee', - iconPosition: 'left', - linkButton: true, - openNew: true, - style: ['line'], - classList: ['button-line', 'button-extra-large'] - })).link()] - }) + children: [ + new Link({ + text: message.get('menuContentCoffeeButton'), + href: 'https://www.buymeacoffee.com/zombieFox', + iconName: 'coffee', + iconPosition: 'left', + linkButton: true, + openNew: true, + style: ['line'], + classList: ['button-line', 'button-extra-large'], + }).link(), + ], + }), ]) ); - }; export { coffeeSetting }; diff --git a/src/component/menuContent/dataSetting/index.js b/src/component/menuContent/dataSetting/index.js index 5f3d0b89..aff6cf73 100644 --- a/src/component/menuContent/dataSetting/index.js +++ b/src/component/menuContent/dataSetting/index.js @@ -20,11 +20,10 @@ const dataSetting = {}; dataSetting.control = { restore: {}, backup: {}, - clear: {} + clear: {}, }; dataSetting.restore = (parent) => { - dataSetting.control.restore.restoreElement = new Control_inputButton({ id: 'restore-data', type: 'file', @@ -35,9 +34,9 @@ dataSetting.restore = (parent) => { data.import.file({ fileList: dataSetting.control.restore.restoreElement.input.files, feedback: dataSetting.control.restore.feedback, - input: dataSetting.control.restore.restoreElement + input: dataSetting.control.restore.restoreElement, }); - } + }, }); dataSetting.control.restore.paste = new Button({ @@ -47,11 +46,11 @@ dataSetting.restore = (parent) => { data.import.paste({ feedback: dataSetting.control.restore.feedback, }); - } + }, }); dataSetting.control.restore.restoreHelper = new Control_helperText({ - text: [message.get('menuContentDataRestoreHelperPara1')] + text: [message.get('menuContentDataRestoreHelperPara1')], }); dataSetting.control.restore.feedback = form.feedback(); @@ -68,32 +67,28 @@ dataSetting.restore = (parent) => { }, children: [ dataSetting.control.restore.restoreElement.button, - dataSetting.control.restore.paste.button - ] + dataSetting.control.restore.paste.button, + ], }); parent.appendChild( node('div', [ dataSetting.control.restore.drop.wrap(), form.wrap({ - children: [ - dataSetting.control.restore.feedback - ] + children: [dataSetting.control.restore.feedback], }), - dataSetting.control.restore.restoreHelper.wrap() + dataSetting.control.restore.restoreHelper.wrap(), ]) ); - }; dataSetting.backup = (parent) => { - dataSetting.control.backup.export = new Button({ text: message.get('menuContentDataBackupFile'), style: ['line'], func: () => { data.export(); - } + }, }); dataSetting.control.backup.copy = new Button({ @@ -101,14 +96,14 @@ dataSetting.backup = (parent) => { style: ['line'], func: () => { navigator.clipboard.writeText(JSON.stringify(data.load())); - } + }, }); dataSetting.control.backup.exportHelper = new Control_helperText({ text: [ message.get('menuContentDataBackupHelperPara1'), - message.get('menuContentDataBackupHelperPara2') - ] + message.get('menuContentDataBackupHelperPara2'), + ], }); parent.appendChild( @@ -121,26 +116,24 @@ dataSetting.backup = (parent) => { wrap: true, children: [ dataSetting.control.backup.export.wrap(), - dataSetting.control.backup.copy.wrap() - ] - }) - ] + dataSetting.control.backup.copy.wrap(), + ], + }), + ], }), - dataSetting.control.backup.exportHelper.wrap() + dataSetting.control.backup.exportHelper.wrap(), ]) ); - }; dataSetting.clear = (parent) => { - dataSetting.control.clear.all = new Button({ text: message.get('menuContentDataClearAll'), style: ['line'], func: () => { menu.close(); data.clear.all.render(); - } + }, }); dataSetting.control.clear.partial = new Button({ @@ -149,27 +142,27 @@ dataSetting.clear = (parent) => { func: () => { menu.close(); data.clear.partial.render(); - } + }, }); dataSetting.control.clear.link = new Link({ text: message.get('menuContentDataClearAlertLink'), - href: '#menu-content-item-backup' + href: '#menu-content-item-backup', }); dataSetting.control.clear.alert = new Alert({ iconName: 'warning', children: [ node(`p:${message.get('menuContentDataClearAlertPara')}|class:small`), - node('p|class:small', dataSetting.control.clear.link.link()) - ] + node('p|class:small', dataSetting.control.clear.link.link()), + ], }); dataSetting.control.clear.helper = new Control_helperText({ text: [ message.get('menuContentDataClearHelperPara1'), - message.get('menuContentDataClearHelperPara2') - ] + message.get('menuContentDataClearHelperPara2'), + ], }); parent.appendChild( @@ -182,16 +175,15 @@ dataSetting.clear = (parent) => { wrap: true, children: [ dataSetting.control.clear.all.wrap(), - dataSetting.control.clear.partial.wrap() - ] - }) - ] + dataSetting.control.clear.partial.wrap(), + ], + }), + ], }), dataSetting.control.clear.alert.wrap(), - dataSetting.control.clear.helper.wrap() + dataSetting.control.clear.helper.wrap(), ]) ); - }; export { dataSetting }; diff --git a/src/component/menuContent/debugSetting/index.js b/src/component/menuContent/debugSetting/index.js index 257244b9..ea21541a 100644 --- a/src/component/menuContent/debugSetting/index.js +++ b/src/component/menuContent/debugSetting/index.js @@ -24,78 +24,109 @@ const debugSetting = {}; debugSetting.state = { input: { - radio: { a: 'a', b: 'a', c: 'a', d: 'a', e: 'a', grid3x3: 'a', grid3x1: 'a', grid1x3: 'a' }, - checkbox: { a: true, b: true, c: false } - } + radio: { + a: 'a', + b: 'a', + c: 'a', + d: 'a', + e: 'a', + grid3x3: 'a', + grid3x1: 'a', + grid1x3: 'a', + }, + checkbox: { a: true, b: true, c: false }, + }, }; debugSetting.control = { input: {}, button: {}, bookmark: {}, - icon: {} + icon: {}, }; debugSetting.input = (parent) => { - debugSetting.control.input.radio = { a: new Control_radio({ object: debugSetting.state, radioGroup: [ - { id: 'input-radio-a-a', labelText: 'Radio A A', description: 'Description for radio A A.', value: 'a' }, - { id: 'input-radio-a-b', labelText: 'Radio A B', description: 'Description for radio A B.', value: 'b' }, - { id: 'input-radio-a-c', labelText: 'Radio A C', description: 'Description for radio A C.', value: 'c' } + { + id: 'input-radio-a-a', + labelText: 'Radio A A', + description: 'Description for radio A A.', + value: 'a', + }, + { + id: 'input-radio-a-b', + labelText: 'Radio A B', + description: 'Description for radio A B.', + value: 'b', + }, + { + id: 'input-radio-a-c', + labelText: 'Radio A C', + description: 'Description for radio A C.', + value: 'c', + }, ], label: 'Radio group A', groupName: 'input-radio-a', path: 'input.radio.a', - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), b: new Control_radio({ object: debugSetting.state, radioGroup: [ { id: 'input-radio-b-a', labelText: 'B A', value: 'a' }, { id: 'input-radio-b-b', labelText: 'B B', value: 'b' }, - { id: 'input-radio-b-c', labelText: 'B C', value: 'c' } + { id: 'input-radio-b-c', labelText: 'B C', value: 'c' }, ], label: 'Radio group', groupName: 'input-radio-b', path: 'input.radio.b', - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), c: new Control_radio({ object: debugSetting.state, radioGroup: [ { id: 'input-radio-c-a', labelText: 'C A', value: 'a' }, { id: 'input-radio-c-b', labelText: 'C B', value: 'b' }, - { id: 'input-radio-c-c', labelText: 'C C', value: 'c' } + { id: 'input-radio-c-c', labelText: 'C C', value: 'c' }, ], label: 'Radio group', groupName: 'input-radio-c', path: 'input.radio.c', inputButton: true, - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), d: new Control_radio({ object: debugSetting.state, radioGroup: [ { id: 'input-radio-d-a', labelText: 'D A', value: 'a' }, { id: 'input-radio-d-b', labelText: 'D B', value: 'b' }, - { id: 'input-radio-d-c', labelText: 'D C', value: 'c' } + { id: 'input-radio-d-c', labelText: 'D C', value: 'c' }, ], label: 'Radio group', groupName: 'input-radio-d', path: 'input.radio.d', inputButton: true, inputButtonStyle: ['line'], - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), e: new Control_radio({ object: debugSetting.state, radioGroup: [ { id: 'input-radio-e-a', labelText: 'E A', value: 'a' }, { id: 'input-radio-e-b', labelText: 'E B', value: 'b' }, - { id: 'input-radio-e-c', labelText: 'E C', value: 'c' } + { id: 'input-radio-e-c', labelText: 'E C', value: 'c' }, ], label: 'Radio group', groupName: 'input-radio-e', @@ -103,53 +134,136 @@ debugSetting.input = (parent) => { inputButton: true, inputHide: true, inputButtonStyle: ['ring'], - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), grid3x3: new Control_radioGrid({ object: debugSetting.state, radioGroup: [ - { id: 'input-radio-grid3x3-a', labelText: 'A', value: 'a', position: 1 }, - { id: 'input-radio-grid3x3-b', labelText: 'B', value: 'b', position: 2 }, - { id: 'input-radio-grid3x3-c', labelText: 'C', value: 'c', position: 3 }, - { id: 'input-radio-grid3x3-d', labelText: 'D', value: 'd', position: 4 }, - { id: 'input-radio-grid3x3-e', labelText: 'E', value: 'e', position: 5 }, - { id: 'input-radio-grid3x3-f', labelText: 'F', value: 'f', position: 6 }, - { id: 'input-radio-grid3x3-g', labelText: 'G', value: 'g', position: 7 }, - { id: 'input-radio-grid3x3-h', labelText: 'H', value: 'h', position: 8 }, - { id: 'input-radio-grid3x3-i', labelText: 'I', value: 'i', position: 9 } + { + id: 'input-radio-grid3x3-a', + labelText: 'A', + value: 'a', + position: 1, + }, + { + id: 'input-radio-grid3x3-b', + labelText: 'B', + value: 'b', + position: 2, + }, + { + id: 'input-radio-grid3x3-c', + labelText: 'C', + value: 'c', + position: 3, + }, + { + id: 'input-radio-grid3x3-d', + labelText: 'D', + value: 'd', + position: 4, + }, + { + id: 'input-radio-grid3x3-e', + labelText: 'E', + value: 'e', + position: 5, + }, + { + id: 'input-radio-grid3x3-f', + labelText: 'F', + value: 'f', + position: 6, + }, + { + id: 'input-radio-grid3x3-g', + labelText: 'G', + value: 'g', + position: 7, + }, + { + id: 'input-radio-grid3x3-h', + labelText: 'H', + value: 'h', + position: 8, + }, + { + id: 'input-radio-grid3x3-i', + labelText: 'I', + value: 'i', + position: 9, + }, ], label: 'Radio group grid 3x3', groupName: 'input-radio-grid3x3', path: 'input.radio.grid3x3', gridSize: '3x3', - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), grid3x1: new Control_radioGrid({ object: debugSetting.state, radioGroup: [ - { id: 'input-radio-grid3x1-a', labelText: 'A', value: 'a', position: 1 }, - { id: 'input-radio-grid3x1-b', labelText: 'B', value: 'b', position: 2 }, - { id: 'input-radio-grid3x1-c', labelText: 'C', value: 'c', position: 3 } + { + id: 'input-radio-grid3x1-a', + labelText: 'A', + value: 'a', + position: 1, + }, + { + id: 'input-radio-grid3x1-b', + labelText: 'B', + value: 'b', + position: 2, + }, + { + id: 'input-radio-grid3x1-c', + labelText: 'C', + value: 'c', + position: 3, + }, ], label: 'Radio group grid 3x1', groupName: 'input-radio-grid3x1', path: 'input.radio.grid3x1', gridSize: '3x1', - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), grid1x3: new Control_radioGrid({ object: debugSetting.state, radioGroup: [ - { id: 'input-radio-grid1x3-a', labelText: 'A', value: 'a', position: 1 }, - { id: 'input-radio-grid1x3-b', labelText: 'B', value: 'b', position: 2 }, - { id: 'input-radio-grid1x3-c', labelText: 'C', value: 'c', position: 3 } + { + id: 'input-radio-grid1x3-a', + labelText: 'A', + value: 'a', + position: 1, + }, + { + id: 'input-radio-grid1x3-b', + labelText: 'B', + value: 'b', + position: 2, + }, + { + id: 'input-radio-grid1x3-c', + labelText: 'C', + value: 'c', + position: 3, + }, ], label: 'Radio group grid 1x3', groupName: 'input-radio-grid1x3', path: 'input.radio.grid1x3', gridSize: '1x3', - action: () => { console.log(debugSetting.state); } - }) + action: () => { + console.log(debugSetting.state); + }, + }), }; debugSetting.control.input.checkbox = { @@ -158,22 +272,28 @@ debugSetting.input = (parent) => { id: 'input-checkbox-a', path: 'input.checkbox.a', labelText: 'Checkbox A', - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), b: new Control_checkbox({ object: debugSetting.state, id: 'input-checkbox-b', path: 'input.checkbox.b', labelText: 'Checkbox B', - action: () => { console.log(debugSetting.state); } + action: () => { + console.log(debugSetting.state); + }, }), c: new Control_checkbox({ object: debugSetting.state, id: 'input-checkbox-c', path: 'input.checkbox.c', labelText: 'Checkbox C', - action: () => { console.log(debugSetting.state); } - }) + action: () => { + console.log(debugSetting.state); + }, + }), }; parent.appendChild( @@ -191,29 +311,57 @@ debugSetting.input = (parent) => { node('hr'), debugSetting.control.input.checkbox.a.wrap(), debugSetting.control.input.checkbox.b.wrap(), - debugSetting.control.input.checkbox.c.wrap() + debugSetting.control.input.checkbox.c.wrap(), ]) ); - }; debugSetting.button = (parent) => { + debugSetting.control.button.small = new Button({ + text: 'Small button', + size: 'small', + }); - debugSetting.control.button.small = new Button({ text: 'Small button', size: 'small' }); - - debugSetting.control.button.medium = new Button({ text: 'Medium button', size: 'medium' }); + debugSetting.control.button.medium = new Button({ + text: 'Medium button', + size: 'medium', + }); - debugSetting.control.button.large = new Button({ text: 'Large button', size: 'large' }); + debugSetting.control.button.large = new Button({ + text: 'Large button', + size: 'large', + }); - debugSetting.control.button.ring = new Button({ text: 'Ring button', size: 'medium', style: ['ring'] }); + debugSetting.control.button.ring = new Button({ + text: 'Ring button', + size: 'medium', + style: ['ring'], + }); - debugSetting.control.button.line = new Button({ text: 'Line button', size: 'medium', style: ['line'] }); + debugSetting.control.button.line = new Button({ + text: 'Line button', + size: 'medium', + style: ['line'], + }); - debugSetting.control.button.ring = new Button({ text: 'Ring button', size: 'medium', style: ['ring'] }); + debugSetting.control.button.ring = new Button({ + text: 'Ring button', + size: 'medium', + style: ['ring'], + }); - debugSetting.control.button.link = new Button({ text: 'Link button', size: 'medium', style: ['link'] }); + debugSetting.control.button.link = new Button({ + text: 'Link button', + size: 'medium', + style: ['link'], + }); - debugSetting.control.button.icon = new Button({ text: 'Icon button', size: 'medium', style: ['line'], iconName: 'add' }); + debugSetting.control.button.icon = new Button({ + text: 'Icon button', + size: 'medium', + style: ['line'], + iconName: 'add', + }); parent.appendChild( node('div', [ @@ -224,108 +372,94 @@ debugSetting.button = (parent) => { debugSetting.control.button.line.wrap(), debugSetting.control.button.ring.wrap(), debugSetting.control.button.link.wrap(), - debugSetting.control.button.icon.wrap() + debugSetting.control.button.icon.wrap(), ]) ); - }; debugSetting.bookmark = (parent) => { - debugSetting.control.bookmark.letter = new Button({ text: 'Only letters', style: ['line'], func: () => { - bookmark.all.forEach(item => { - item.items.forEach(item => { - + bookmark.all.forEach((item) => { + item.items.forEach((item) => { item.display.visual.type = 'letter'; - }); }); groupAndBookmark.render(); data.save(); - } + }, }); debugSetting.control.bookmark.icon = new Button({ text: 'Only icons', style: ['line'], func: () => { - bookmark.all.forEach(item => { - item.items.forEach(item => { - + bookmark.all.forEach((item) => { + item.items.forEach((item) => { item.display.visual.type = 'icon'; - }); }); groupAndBookmark.render(); data.save(); - } + }, }); debugSetting.control.bookmark.image = new Button({ text: 'Only images', style: ['line'], func: () => { - bookmark.all.forEach(item => { - item.items.forEach(item => { - + bookmark.all.forEach((item) => { + item.items.forEach((item) => { item.display.visual.type = 'image'; - }); }); groupAndBookmark.render(); data.save(); - } + }, }); debugSetting.control.bookmark.image = new Button({ text: 'Only images', style: ['line'], func: () => { - bookmark.all.forEach(item => { - item.items.forEach(item => { - + bookmark.all.forEach((item) => { + item.items.forEach((item) => { item.display.visual.type = 'image'; - }); }); groupAndBookmark.render(); data.save(); - } + }, }); debugSetting.control.bookmark.nameShow = new Button({ text: 'Name show', style: ['line'], func: () => { - bookmark.all.forEach(item => { - item.items.forEach(item => { - + bookmark.all.forEach((item) => { + item.items.forEach((item) => { item.display.name.show = true; - }); }); groupAndBookmark.render(); data.save(); - } + }, }); debugSetting.control.bookmark.nameHide = new Button({ text: 'Name hide', style: ['line'], func: () => { - bookmark.all.forEach(item => { - item.items.forEach(item => { - + bookmark.all.forEach((item) => { + item.items.forEach((item) => { item.display.name.show = false; - }); }); groupAndBookmark.render(); data.save(); - } + }, }); debugSetting.control.bookmark.add = { @@ -333,10 +467,11 @@ debugSetting.bookmark = (parent) => { text: 'Add a group', style: ['line'], func: () => { - const newGroupData = new StagedGroup(); - newGroupData.group.name.text = randomString({ adjectivesCount: randomNumber(1, 3) }); + newGroupData.group.name.text = randomString({ + adjectivesCount: randomNumber(1, 3), + }); newGroupData.newGroup(); @@ -349,33 +484,37 @@ debugSetting.bookmark = (parent) => { layout.area.assemble(); data.save(); - - } + }, }), bookmark: new Button({ text: 'Add 10 random bookmarks', style: ['line'], func: () => { - for (var i = 0; i < 10; i++) { - const newBookmarkData = new StagedBookmark(); newBookmarkData.type.new = true; - newBookmarkData.position.destination.item = (bookmark.all.length > 0) ? bookmark.all[0].items.length : 0; + newBookmarkData.position.destination.item = + bookmark.all.length > 0 ? bookmark.all[0].items.length : 0; - newBookmarkData.position.destination.group = randomNumber(0, (bookmark.all.length - 1)); + newBookmarkData.position.destination.group = randomNumber( + 0, + bookmark.all.length - 1 + ); newBookmarkData.link.timestamp = new Date().getTime(); const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - newBookmarkData.link.display.visual.letter.text = alphabet[randomNumber(0, (alphabet.length - 1))] + alphabet[randomNumber(0, (alphabet.length - 1))]; + newBookmarkData.link.display.visual.letter.text = + alphabet[randomNumber(0, alphabet.length - 1)] + + alphabet[randomNumber(0, alphabet.length - 1)]; newBookmarkData.link.display.visual.type = 'icon'; - const randomIcon = fontawesome[randomNumber(0, fontawesome.length - 1)]; + const randomIcon = + fontawesome[randomNumber(0, fontawesome.length - 1)]; newBookmarkData.link.display.visual.icon.label = randomIcon.label; newBookmarkData.link.display.visual.icon.name = randomIcon.name; @@ -386,20 +525,20 @@ debugSetting.bookmark = (parent) => { newBookmarkData.link.display.visual.icon.prefix = 'fab'; } - newBookmarkData.link.display.name.text = randomString({ adjectivesCount: 1 }); + newBookmarkData.link.display.name.text = randomString({ + adjectivesCount: 1, + }); newBookmarkData.link.url = randomString({ adjectivesCount: 1 }); bookmark.item.mod.add(newBookmarkData); - } groupAndBookmark.render(); data.save(); - - } - }) + }, + }), }; parent.appendChild( @@ -417,18 +556,16 @@ debugSetting.bookmark = (parent) => { debugSetting.control.bookmark.nameShow.wrap(), debugSetting.control.bookmark.nameHide.wrap(), debugSetting.control.bookmark.add.group.wrap(), - debugSetting.control.bookmark.add.bookmark.wrap() - ] - }) - ] - }) + debugSetting.control.bookmark.add.bookmark.wrap(), + ], + }), + ], + }), ]) ); - }; debugSetting.icon = (parent) => { - debugSetting.control.icon = []; for (let key in icon.all) { @@ -437,9 +574,9 @@ debugSetting.icon = (parent) => { children: [ node('div|class:d-flex d-horizontal d-gap d-center', [ node('div|class:large', [icon.render(key)]), - node(`p:${key}|class:small`) - ]) - ] + node(`p:${key}|class:small`), + ]), + ], }) ); } @@ -452,13 +589,12 @@ debugSetting.icon = (parent) => { gap: 'small', wrap: true, equalGap: true, - children: debugSetting.control.icon - }) - ] - }) + children: debugSetting.control.icon, + }), + ], + }), ]) ); - }; export { debugSetting }; diff --git a/src/component/menuContent/groupSetting/index.js b/src/component/menuContent/groupSetting/index.js index dd08c23c..318075f0 100644 --- a/src/component/menuContent/groupSetting/index.js +++ b/src/component/menuContent/groupSetting/index.js @@ -27,60 +27,79 @@ groupSetting.control = { alignment: {}, name: {}, collapse: {}, - toolbar: {} + toolbar: {}, }; groupSetting.edge = { name: { update: () => { - if (state.get.current().bookmark.show && group.area.current.length > 0) { - if (groupSetting.findIndex.name() !== null) { - - groupSetting.edge.name.size = new Edge({ primary: group.area.current[groupSetting.findIndex.name()].element.name.name, secondary: [group.area.current[groupSetting.findIndex.name()].element.header] }); - + groupSetting.edge.name.size = new Edge({ + primary: + group.area.current[groupSetting.findIndex.name()].element.name + .name, + secondary: [ + group.area.current[groupSetting.findIndex.name()].element.header, + ], + }); } - } else { - groupSetting.edge.name.size = null; - } - - } + }, }, toolbar: { update: () => { - if (state.get.current().bookmark.show && group.area.current.length > 0) { - - if (groupSetting.findIndex.toolbar.collapse() !== null && groupSetting.findIndex.toolbar.openAll() !== null) { - - groupSetting.edge.toolbar.size = new Edge({ primary: group.area.current[groupSetting.findIndex.toolbar.openAll()].element.toolbar.toolbar, secondary: [group.area.current[groupSetting.findIndex.toolbar.openAll()].element.header] }); - - } else if (groupSetting.findIndex.toolbar.collapse() !== null && groupSetting.findIndex.toolbar.openAll() === null) { - - groupSetting.edge.toolbar.size = new Edge({ primary: group.area.current[groupSetting.findIndex.toolbar.collapse()].element.toolbar.toolbar, secondary: [group.area.current[groupSetting.findIndex.toolbar.collapse()].element.header] }); - - } else if (groupSetting.findIndex.toolbar.collapse() === null && groupSetting.findIndex.toolbar.openAll() !== null) { - - groupSetting.edge.toolbar.size = new Edge({ primary: group.area.current[groupSetting.findIndex.toolbar.openAll()].element.toolbar.toolbar, secondary: [group.area.current[groupSetting.findIndex.toolbar.openAll()].element.header] }); - + if ( + groupSetting.findIndex.toolbar.collapse() !== null && + groupSetting.findIndex.toolbar.openAll() !== null + ) { + groupSetting.edge.toolbar.size = new Edge({ + primary: + group.area.current[groupSetting.findIndex.toolbar.openAll()] + .element.toolbar.toolbar, + secondary: [ + group.area.current[groupSetting.findIndex.toolbar.openAll()] + .element.header, + ], + }); + } else if ( + groupSetting.findIndex.toolbar.collapse() !== null && + groupSetting.findIndex.toolbar.openAll() === null + ) { + groupSetting.edge.toolbar.size = new Edge({ + primary: + group.area.current[groupSetting.findIndex.toolbar.collapse()] + .element.toolbar.toolbar, + secondary: [ + group.area.current[groupSetting.findIndex.toolbar.collapse()] + .element.header, + ], + }); + } else if ( + groupSetting.findIndex.toolbar.collapse() === null && + groupSetting.findIndex.toolbar.openAll() !== null + ) { + groupSetting.edge.toolbar.size = new Edge({ + primary: + group.area.current[groupSetting.findIndex.toolbar.openAll()] + .element.toolbar.toolbar, + secondary: [ + group.area.current[groupSetting.findIndex.toolbar.openAll()] + .element.header, + ], + }); } else { - groupSetting.edge.toolbar.size = null; - } - } - - } - } + }, + }, }; groupSetting.disable = () => { - if (state.get.current().bookmark.show) { groupSetting.control.alignment.justify.enable(); groupSetting.control.alignment.order.enable(); @@ -118,17 +137,30 @@ groupSetting.disable = () => { groupSetting.control.toolbar.openAll.show.disable(); groupSetting.control.toolbar.openAll.helper.disable(); } - }; groupSetting.alignment = (parent) => { - groupSetting.control.alignment.justify = new Control_radioGrid({ object: state.get.current(), radioGroup: [ - { id: 'group-area-justify-left', labelText: message.get('menuContentGroupAlignmentJustifyLeft'), value: 'left', position: 1 }, - { id: 'group-area-justify-center', labelText: message.get('menuContentGroupAlignmentJustifyCenter'), value: 'center', position: 2 }, - { id: 'group-area-justify-right', labelText: message.get('menuContentGroupAlignmentJustifyRight'), value: 'right', position: 3 } + { + id: 'group-area-justify-left', + labelText: message.get('menuContentGroupAlignmentJustifyLeft'), + value: 'left', + position: 1, + }, + { + id: 'group-area-justify-center', + labelText: message.get('menuContentGroupAlignmentJustifyCenter'), + value: 'center', + position: 2, + }, + { + id: 'group-area-justify-right', + labelText: message.get('menuContentGroupAlignmentJustifyRight'), + value: 'right', + position: 3, + }, ], label: message.get('menuContentGroupAlignmentJustifyLabel'), groupName: 'group-area-justify', @@ -137,92 +169,92 @@ groupSetting.alignment = (parent) => { action: () => { applyCSSClass('group.area.justify'); data.save(); - } + }, }); groupSetting.control.alignment.order = new Control_radio({ object: state.get.current(), label: message.get('menuContentGroupAlignmentOrderLabel'), radioGroup: [ - { id: 'group-order-header-body', labelText: message.get('menuContentGroupAlignmentOrderHeaderBodyLabel'), description: message.get('menuContentGroupAlignmentOrderHeaderBodyDescription'), value: 'header-body' }, - { id: 'group-order-body-header', labelText: message.get('menuContentGroupAlignmentOrderBodyHeaderLabel'), description: message.get('menuContentGroupAlignmentOrderBodyHeaderDescription'), value: 'body-header' } + { + id: 'group-order-header-body', + labelText: message.get('menuContentGroupAlignmentOrderHeaderBodyLabel'), + description: message.get( + 'menuContentGroupAlignmentOrderHeaderBodyDescription' + ), + value: 'header-body', + }, + { + id: 'group-order-body-header', + labelText: message.get('menuContentGroupAlignmentOrderBodyHeaderLabel'), + description: message.get( + 'menuContentGroupAlignmentOrderBodyHeaderDescription' + ), + value: 'body-header', + }, ], groupName: 'group-order', path: 'group.order', action: () => { applyCSSClass('group.order'); data.save(); - } + }, }); parent.appendChild( node('div', [ groupSetting.control.alignment.justify.wrap(), node('hr'), - groupSetting.control.alignment.order.wrap() + groupSetting.control.alignment.order.wrap(), ]) ); - }; groupSetting.findIndex = { name: () => { - let nameIndex = null; if (state.get.current().bookmark.show && group.area.current.length > 0) { bookmark.all.forEach((item, i) => { - if (item.name.show && nameIndex === null) { nameIndex = i; } - }); } return nameIndex; - }, toolbar: { collapse: () => { - let collapseIndex = null; if (state.get.current().bookmark.show && group.area.current.length > 0) { bookmark.all.forEach((item, i) => { - if (item.toolbar.collapse.show && collapseIndex === null) { collapseIndex = i; } - }); } return collapseIndex; - }, openAll: () => { - let openAllIndex = null; if (state.get.current().bookmark.show && group.area.current.length > 0) { bookmark.all.forEach((item, i) => { - if (item.toolbar.openAll.show && openAllIndex === null) { openAllIndex = i; } - }); } return openAllIndex; - - } - } + }, + }, }; groupSetting.name = (parent) => { - groupSetting.edge.name.update(); groupSetting.control.name.size = new Control_slider({ @@ -238,46 +270,42 @@ groupSetting.name = (parent) => { applyCSSVar('group.name.size'); if (state.get.current().bookmark.show && group.area.current.length > 0) { - if (bookmark.all[0].name.show) { - groupSetting.edge.name.size.track(); - } - } data.save(); }, mouseDownAction: () => { if (state.get.current().bookmark.show && group.area.current.length > 0) { - - if (groupSetting.findIndex.name() == 0 || groupSetting.findIndex.name()) { - + if ( + groupSetting.findIndex.name() == 0 || + groupSetting.findIndex.name() + ) { groupSetting.edge.name.size.show(); - } } }, mouseUpAction: () => { if (state.get.current().bookmark.show && group.area.current.length > 0) { - - if (groupSetting.findIndex.name() == 0 || groupSetting.findIndex.name()) { - + if ( + groupSetting.findIndex.name() == 0 || + groupSetting.findIndex.name() + ) { groupSetting.edge.name.size.hide(); - } - } - } + }, }); groupSetting.control.name.show = new Button({ text: message.get('menuContentGroupNameShow'), style: ['line'], func: () => { - - bookmark.all.forEach(item => { item.name.show = true; }); + bookmark.all.forEach((item) => { + item.name.show = true; + }); groupAndBookmark.render(); @@ -286,16 +314,16 @@ groupSetting.name = (parent) => { groupSetting.edge.toolbar.update(); data.save(); - - } + }, }); groupSetting.control.name.hide = new Button({ text: message.get('menuContentGroupNameHide'), style: ['line'], func: () => { - - bookmark.all.forEach(item => { item.name.show = false; }); + bookmark.all.forEach((item) => { + item.name.show = false; + }); groupAndBookmark.render(); @@ -304,12 +332,11 @@ groupSetting.name = (parent) => { groupSetting.edge.toolbar.update(); data.save(); - - } + }, }); groupSetting.control.name.helper = new Control_helperText({ - text: [message.get('menuContentGroupNameHelperPara1')] + text: [message.get('menuContentGroupNameHelperPara1')], }); parent.appendChild( @@ -321,24 +348,23 @@ groupSetting.name = (parent) => { equalGap: true, children: [ groupSetting.control.name.show.wrap(), - groupSetting.control.name.hide.wrap() - ] + groupSetting.control.name.hide.wrap(), + ], }), - groupSetting.control.name.helper.wrap() + groupSetting.control.name.helper.wrap(), ]) ); - }; groupSetting.collapse = (parent) => { - groupSetting.control.collapse = { show: new Button({ text: message.get('menuContentGroupCollapseShow'), style: ['line'], func: () => { - - bookmark.all.forEach(item => { item.collapse = false; }); + bookmark.all.forEach((item) => { + item.collapse = false; + }); groupAndBookmark.render(); @@ -347,15 +373,15 @@ groupSetting.collapse = (parent) => { groupSetting.edge.toolbar.update(); data.save(); - - } + }, }), hide: new Button({ text: message.get('menuContentGroupCollapseHide'), style: ['line'], func: () => { - - bookmark.all.forEach(item => { item.collapse = true; }); + bookmark.all.forEach((item) => { + item.collapse = true; + }); groupAndBookmark.render(); @@ -364,9 +390,8 @@ groupSetting.collapse = (parent) => { groupSetting.edge.toolbar.update(); data.save(); - - } - }) + }, + }), }; parent.appendChild( @@ -377,16 +402,14 @@ groupSetting.collapse = (parent) => { equalGap: true, children: [ groupSetting.control.collapse.show.wrap(), - groupSetting.control.collapse.hide.wrap() - ] - }) + groupSetting.control.collapse.hide.wrap(), + ], + }), ]) ); - }; groupSetting.toolbar = (parent) => { - groupSetting.edge.toolbar.update(); groupSetting.control.toolbar.size = new Control_slider({ @@ -402,64 +425,55 @@ groupSetting.toolbar = (parent) => { applyCSSVar('group.toolbar.size'); if (state.get.current().bookmark.show && group.area.current.length > 0) { - if ( - (groupSetting.findIndex.toolbar.collapse() == 0 || groupSetting.findIndex.toolbar.collapse()) || - (groupSetting.findIndex.toolbar.openAll() == 0 || groupSetting.findIndex.toolbar.openAll()) + groupSetting.findIndex.toolbar.collapse() == 0 || + groupSetting.findIndex.toolbar.collapse() || + groupSetting.findIndex.toolbar.openAll() == 0 || + groupSetting.findIndex.toolbar.openAll() ) { - groupSetting.edge.toolbar.size.track(); - } - } data.save(); }, mouseDownAction: () => { - if (state.get.current().bookmark.show && group.area.current.length > 0) { - if ( - (groupSetting.findIndex.toolbar.collapse() == 0 || groupSetting.findIndex.toolbar.collapse()) || - (groupSetting.findIndex.toolbar.openAll() == 0 || groupSetting.findIndex.toolbar.openAll()) + groupSetting.findIndex.toolbar.collapse() == 0 || + groupSetting.findIndex.toolbar.collapse() || + groupSetting.findIndex.toolbar.openAll() == 0 || + groupSetting.findIndex.toolbar.openAll() ) { - groupSetting.edge.toolbar.size.show(); - } - } - }, mouseUpAction: () => { - if (state.get.current().bookmark.show && group.area.current.length > 0) { - if ( - (groupSetting.findIndex.toolbar.collapse() == 0 || groupSetting.findIndex.toolbar.collapse()) || - (groupSetting.findIndex.toolbar.openAll() == 0 || groupSetting.findIndex.toolbar.openAll()) + groupSetting.findIndex.toolbar.collapse() == 0 || + groupSetting.findIndex.toolbar.collapse() || + groupSetting.findIndex.toolbar.openAll() == 0 || + groupSetting.findIndex.toolbar.openAll() ) { - groupSetting.edge.toolbar.size.hide(); - } - } - - } + }, }); groupSetting.control.toolbar.collapse = { label: new Control_label({ - text: message.get('menuContentGroupToolbarCollapseLabel') + text: message.get('menuContentGroupToolbarCollapseLabel'), }), show: new Button({ text: message.get('menuContentGroupToolbarCollapseShow'), style: ['line'], func: () => { - - bookmark.all.forEach(item => { item.toolbar.collapse.show = true; }); + bookmark.all.forEach((item) => { + item.toolbar.collapse.show = true; + }); groupAndBookmark.render(); @@ -468,15 +482,15 @@ groupSetting.toolbar = (parent) => { groupSetting.edge.toolbar.update(); data.save(); - - } + }, }), hide: new Button({ text: message.get('menuContentGroupToolbarCollapseHide'), style: ['line'], func: () => { - - bookmark.all.forEach(item => { item.toolbar.collapse.show = false; }); + bookmark.all.forEach((item) => { + item.toolbar.collapse.show = false; + }); groupAndBookmark.render(); @@ -485,24 +499,24 @@ groupSetting.toolbar = (parent) => { groupSetting.edge.toolbar.update(); data.save(); - - } + }, }), helper: new Control_helperText({ - text: [message.get('menuContentGroupToolbarCollapseHelperPara1')] - }) + text: [message.get('menuContentGroupToolbarCollapseHelperPara1')], + }), }; groupSetting.control.toolbar.openAll = { label: new Control_label({ - text: message.get('menuContentGroupToolbarOpenAllLabel') + text: message.get('menuContentGroupToolbarOpenAllLabel'), }), show: new Button({ text: message.get('menuContentGroupToolbarOpenAllShow'), style: ['line'], func: () => { - - bookmark.all.forEach(item => { item.toolbar.openAll.show = true; }); + bookmark.all.forEach((item) => { + item.toolbar.openAll.show = true; + }); groupAndBookmark.render(); @@ -511,15 +525,15 @@ groupSetting.toolbar = (parent) => { groupSetting.edge.toolbar.update(); data.save(); - - } + }, }), hide: new Button({ text: message.get('menuContentGroupToolbarOpenAllHide'), style: ['line'], func: () => { - - bookmark.all.forEach(item => { item.toolbar.openAll.show = false; }); + bookmark.all.forEach((item) => { + item.toolbar.openAll.show = false; + }); groupAndBookmark.render(); @@ -528,12 +542,11 @@ groupSetting.toolbar = (parent) => { groupSetting.edge.toolbar.update(); data.save(); - - } + }, }), helper: new Control_helperText({ - text: [message.get('menuContentGroupToolbarOpenAllHelperPara1')] - }) + text: [message.get('menuContentGroupToolbarOpenAllHelperPara1')], + }), }; parent.appendChild( @@ -549,10 +562,10 @@ groupSetting.toolbar = (parent) => { equalGap: true, children: [ groupSetting.control.toolbar.openAll.show.wrap(), - groupSetting.control.toolbar.openAll.hide.wrap() - ] - }) - ] + groupSetting.control.toolbar.openAll.hide.wrap(), + ], + }), + ], }), groupSetting.control.toolbar.openAll.helper.wrap(), node('hr'), @@ -565,15 +578,14 @@ groupSetting.toolbar = (parent) => { equalGap: true, children: [ groupSetting.control.toolbar.collapse.show.wrap(), - groupSetting.control.toolbar.collapse.hide.wrap() - ] - }) - ] + groupSetting.control.toolbar.collapse.hide.wrap(), + ], + }), + ], }), - groupSetting.control.toolbar.collapse.helper.wrap() + groupSetting.control.toolbar.collapse.helper.wrap(), ]) ); - }; export { groupSetting }; diff --git a/src/component/menuContent/headerSetting/index.js b/src/component/menuContent/headerSetting/index.js index d8081e70..5e797dc8 100644 --- a/src/component/menuContent/headerSetting/index.js +++ b/src/component/menuContent/headerSetting/index.js @@ -32,11 +32,10 @@ headerSetting.control = { transitional: {}, clock: {}, date: {}, - search: {} + search: {}, }; headerSetting.disable = () => { - if (state.get.current().header.greeting.show) { headerSetting.control.greeting.size.enable(); headerSetting.control.greeting.newLine.enable(); @@ -50,9 +49,7 @@ headerSetting.disable = () => { } if (state.get.current().header.greeting.show) { - switch (state.get.current().header.greeting.type) { - case 'good': case 'hello': case 'hi': @@ -62,19 +59,16 @@ headerSetting.disable = () => { case 'custom': headerSetting.control.greeting.custom.text.enable(); break; - } - } else { - headerSetting.control.greeting.custom.text.disable(); - } - if (state.get.current().header.clock.second.show || + if ( + state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || - state.get.current().header.clock.hour.show) { - + state.get.current().header.clock.hour.show + ) { headerSetting.control.clock.hour24.show.enable(); headerSetting.control.clock.size.enable(); headerSetting.control.clock.newLine.enable(); @@ -102,99 +96,91 @@ headerSetting.disable = () => { } else { headerSetting.control.clock.meridiem.show.enable(); } - } else { - headerSetting.control.clock.hour24.show.disable(); headerSetting.control.clock.meridiem.show.disable(); headerSetting.control.clock.size.disable(); headerSetting.control.clock.newLine.disable(); - } - if ([state.get.current().header.clock.second.show, state.get.current().header.clock.minute.show, state.get.current().header.clock.hour.show].filter(Boolean).length > 1) { - + if ( + [ + state.get.current().header.clock.second.show, + state.get.current().header.clock.minute.show, + state.get.current().header.clock.hour.show, + ].filter(Boolean).length > 1 + ) { headerSetting.control.clock.separator.show.enable(); - } else { - headerSetting.control.clock.separator.show.disable(); - } if ( - [state.get.current().header.clock.second.show, state.get.current().header.clock.minute.show, state.get.current().header.clock.hour.show].filter(Boolean).length > 1 && + [ + state.get.current().header.clock.second.show, + state.get.current().header.clock.minute.show, + state.get.current().header.clock.hour.show, + ].filter(Boolean).length > 1 && state.get.current().header.clock.separator.show ) { - headerSetting.control.clock.separator.text.enable(); - } else { - headerSetting.control.clock.separator.text.disable(); - } if ( - (state.get.current().header.clock.second.show && state.get.current().header.clock.minute.show) || - (state.get.current().header.clock.second.show && state.get.current().header.clock.hour.show) || - (state.get.current().header.clock.minute.show && state.get.current().header.clock.hour.show) + (state.get.current().header.clock.second.show && + state.get.current().header.clock.minute.show) || + (state.get.current().header.clock.second.show && + state.get.current().header.clock.hour.show) || + (state.get.current().header.clock.minute.show && + state.get.current().header.clock.hour.show) ) { - headerSetting.control.clock.separator.show.enable(); - } else { - headerSetting.control.clock.separator.show.disable(); - } if ( - ((state.get.current().header.clock.second.show && state.get.current().header.clock.minute.show) || - (state.get.current().header.clock.second.show && state.get.current().header.clock.hour.show) || - (state.get.current().header.clock.minute.show && state.get.current().header.clock.hour.show)) && + ((state.get.current().header.clock.second.show && + state.get.current().header.clock.minute.show) || + (state.get.current().header.clock.second.show && + state.get.current().header.clock.hour.show) || + (state.get.current().header.clock.minute.show && + state.get.current().header.clock.hour.show)) && state.get.current().header.clock.separator.show ) { - headerSetting.control.clock.separator.text.enable(); - } else { - headerSetting.control.clock.separator.text.disable(); - } - if (state.get.current().header.date.day.show || + if ( + state.get.current().header.date.day.show || state.get.current().header.date.date.show || state.get.current().header.date.month.show || - state.get.current().header.date.year.show) { - + state.get.current().header.date.year.show + ) { headerSetting.control.date.size.enable(); headerSetting.control.date.newLine.enable(); - } else { - headerSetting.control.date.size.disable(); headerSetting.control.date.newLine.disable(); - } - if (state.get.current().header.date.date.show && state.get.current().header.date.month.show) { - + if ( + state.get.current().header.date.date.show && + state.get.current().header.date.month.show + ) { headerSetting.control.date.format.enable(); - } else { - headerSetting.control.date.format.disable(); - } if (state.get.current().header.date.day.show) { - headerSetting.control.date.day.display.enable(); switch (state.get.current().header.date.day.display) { - case 'word': headerSetting.control.date.day.length.enable(); headerSetting.control.date.day.weekStart.disable(); @@ -204,33 +190,23 @@ headerSetting.disable = () => { headerSetting.control.date.day.length.disable(); headerSetting.control.date.day.weekStart.enable(); break; - } - } else { - headerSetting.control.date.day.display.disable(); headerSetting.control.date.day.length.disable(); headerSetting.control.date.day.weekStart.disable(); - } if (state.get.current().header.date.date.show) { - headerSetting.control.date.date.display.enable(); headerSetting.control.date.date.ordinal.enable(); - } else { - headerSetting.control.date.date.display.disable(); headerSetting.control.date.date.ordinal.disable(); - } if (state.get.current().header.date.month.show) { - switch (state.get.current().header.date.month.display) { - case 'word': headerSetting.control.date.month.ordinal.disable(); headerSetting.control.date.month.length.enable(); @@ -240,50 +216,46 @@ headerSetting.disable = () => { headerSetting.control.date.month.ordinal.enable(); headerSetting.control.date.month.length.disable(); break; - } headerSetting.control.date.month.display.enable(); - } else { - headerSetting.control.date.month.display.disable(); headerSetting.control.date.month.ordinal.disable(); headerSetting.control.date.month.length.disable(); - } if (state.get.current().header.date.year.show) { - headerSetting.control.date.year.display.enable(); - } else { - headerSetting.control.date.year.display.disable(); - } - if ([state.get.current().header.date.day.show, state.get.current().header.date.date.show, state.get.current().header.date.month.show, state.get.current().header.date.year.show].filter(Boolean).length > 1) { - + if ( + [ + state.get.current().header.date.day.show, + state.get.current().header.date.date.show, + state.get.current().header.date.month.show, + state.get.current().header.date.year.show, + ].filter(Boolean).length > 1 + ) { headerSetting.control.date.separator.show.enable(); - } else { - headerSetting.control.date.separator.show.disable(); - } if ( - [state.get.current().header.date.day.show, state.get.current().header.date.date.show, state.get.current().header.date.month.show, state.get.current().header.date.year.show].filter(Boolean).length > 1 && + [ + state.get.current().header.date.day.show, + state.get.current().header.date.date.show, + state.get.current().header.date.month.show, + state.get.current().header.date.year.show, + ].filter(Boolean).length > 1 && state.get.current().header.date.separator.show ) { - headerSetting.control.date.separator.text.enable(); - } else { - headerSetting.control.date.separator.text.disable(); - } if ( @@ -302,16 +274,16 @@ headerSetting.disable = () => { headerSetting.control.transitional.newLine.disable(); } - if (( - state.get.current().header.clock.second.show || + if ( + (state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || state.get.current().header.clock.hour.show || state.get.current().header.date.day.show || state.get.current().header.date.date.show || state.get.current().header.date.month.show || - state.get.current().header.date.year.show - ) && - state.get.current().header.transitional.show) { + state.get.current().header.date.year.show) && + state.get.current().header.transitional.show + ) { headerSetting.control.transitional.type.enable(); headerSetting.control.transitional.size.enable(); headerSetting.control.transitional.newLine.enable(); @@ -334,28 +306,20 @@ headerSetting.disable = () => { } if (state.get.current().header.search.show) { - switch (state.get.current().header.search.width.by) { - case 'auto': headerSetting.control.search.width.size.disable(); break; - case 'custom': headerSetting.control.search.width.size.enable(); break; - } - } else { - headerSetting.control.search.width.size.disable(); - } switch (state.get.current().header.search.engine.selected) { - case 'custom': headerSetting.control.search.engine.custom.name.enable(); headerSetting.control.search.engine.custom.url.enable(); @@ -371,9 +335,7 @@ headerSetting.disable = () => { headerSetting.control.search.engine.custom.queryName.disable(); headerSetting.control.search.engine.custom.queryNameHelper.disable(); break; - } - }; headerSetting.edge = { @@ -382,29 +344,39 @@ headerSetting.edge = { transitional: {}, clock: {}, date: {}, - search: {} + search: {}, }; headerSetting.update = () => { - for (let key in headerSetting.control) { - headerSetting.control[key].forEach((item) => { item.update(); }); - } - }; headerSetting.alignment = (parent) => { - headerSetting.alignment.alignment = new Control_radioGrid({ object: state.get.current(), radioGroup: [ - { id: 'header-item-justify-left', labelText: message.get('menuContentHeaderAlignmentJustifyLeft'), value: 'left', position: 1 }, - { id: 'header-item-justify-center', labelText: message.get('menuContentHeaderAlignmentJustifyCenter'), value: 'center', position: 2 }, - { id: 'header-item-justify-right', labelText: message.get('menuContentHeaderAlignmentJustifyRight'), value: 'right', position: 3 } + { + id: 'header-item-justify-left', + labelText: message.get('menuContentHeaderAlignmentJustifyLeft'), + value: 'left', + position: 1, + }, + { + id: 'header-item-justify-center', + labelText: message.get('menuContentHeaderAlignmentJustifyCenter'), + value: 'center', + position: 2, + }, + { + id: 'header-item-justify-right', + labelText: message.get('menuContentHeaderAlignmentJustifyRight'), + value: 'right', + position: 3, + }, ], label: message.get('menuContentHeaderAlignmentJustifyLabel'), groupName: 'header-item-justify', @@ -413,26 +385,27 @@ headerSetting.alignment = (parent) => { action: () => { applyCSSClass('header.item.justify'); data.save(); - } + }, }); headerSetting.alignment.alignmentHelper = new Control_helperText({ complexText: true, - text: [message.get('menuContentHeaderAlignmentHelperPara1')] + text: [message.get('menuContentHeaderAlignmentHelperPara1')], }); parent.appendChild( node('div', [ headerSetting.alignment.alignment.wrap(), - headerSetting.alignment.alignmentHelper.wrap() + headerSetting.alignment.alignmentHelper.wrap(), ]) ); - }; headerSetting.greeting = (parent) => { - - headerSetting.edge.greeting.size = new Edge({ primary: header.element.greeting.greeting(), secondary: [header.element.area] }); + headerSetting.edge.greeting.size = new Edge({ + primary: header.element.greeting.greeting(), + secondary: [header.element.area], + }); headerSetting.control.greeting.show = new Control_checkbox({ object: state.get.current(), @@ -445,14 +418,22 @@ headerSetting.greeting = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.greeting.collapse.update(); data.save(); - } + }, }); headerSetting.control.greeting.size = new Control_sliderSlim({ @@ -474,7 +455,7 @@ headerSetting.greeting = (parent) => { }, mouseUpAction: () => { headerSetting.edge.greeting.size.hide(); - } + }, }); headerSetting.control.greeting.newLine = new Control_checkbox({ @@ -486,18 +467,45 @@ headerSetting.greeting = (parent) => { action: () => { applyCSSState('header.greeting.newLine'); data.save(); - } + }, }); headerSetting.control.greeting.type = new Control_radio({ object: state.get.current(), label: message.get('menuContentHeaderGreetingTypeLabel'), radioGroup: [ - { id: 'header-greeting-type-good', labelText: message.get('menuContentHeaderGreetingTypeGood'), value: 'good' }, - { id: 'header-greeting-type-hello', labelText: message.get('menuContentHeaderGreetingTypeHello'), value: 'hello' }, - { id: 'header-greeting-type-hi', labelText: message.get('menuContentHeaderGreetingTypeHi'), value: 'hi' }, - { id: 'header-greeting-type-none', labelText: message.get('menuContentHeaderGreetingTypeNoneLabel'), description: message.get('menuContentHeaderGreetingTypeNoneDescription'), value: 'none' }, - { id: 'header-greeting-type-custom', labelText: message.get('menuContentHeaderGreetingTypeCustomLabel'), description: [message.get('menuContentHeaderGreetingTypeCustomDescriptionPara1'), message.get('menuContentHeaderGreetingTypeCustomDescriptionPara2')], value: 'custom' } + { + id: 'header-greeting-type-good', + labelText: message.get('menuContentHeaderGreetingTypeGood'), + value: 'good', + }, + { + id: 'header-greeting-type-hello', + labelText: message.get('menuContentHeaderGreetingTypeHello'), + value: 'hello', + }, + { + id: 'header-greeting-type-hi', + labelText: message.get('menuContentHeaderGreetingTypeHi'), + value: 'hi', + }, + { + id: 'header-greeting-type-none', + labelText: message.get('menuContentHeaderGreetingTypeNoneLabel'), + description: message.get( + 'menuContentHeaderGreetingTypeNoneDescription' + ), + value: 'none', + }, + { + id: 'header-greeting-type-custom', + labelText: message.get('menuContentHeaderGreetingTypeCustomLabel'), + description: [ + message.get('menuContentHeaderGreetingTypeCustomDescriptionPara1'), + message.get('menuContentHeaderGreetingTypeCustomDescriptionPara2'), + ], + value: 'custom', + }, ], groupName: 'header-greeting-type', path: 'header.greeting.type', @@ -506,7 +514,7 @@ headerSetting.greeting = (parent) => { headerSetting.control.greeting.custom.collapse.update(); headerSetting.disable(); data.save(); - } + }, }); headerSetting.control.greeting.custom = {}; @@ -522,20 +530,24 @@ headerSetting.greeting = (parent) => { action: () => { header.element.greeting.update(); data.save(); - } + }, }); headerSetting.control.greeting.custom.area = node('div', [ - headerSetting.control.greeting.custom.text.wrap() + headerSetting.control.greeting.custom.text.wrap(), ]); headerSetting.control.greeting.custom.collapse = new Collapse({ type: 'radio', radioGroup: headerSetting.control.greeting.type, - target: [{ - id: headerSetting.control.greeting.type.radioSet[headerSetting.control.greeting.type.radioSet.length - 1].radio.value, - content: headerSetting.control.greeting.custom.area - }] + target: [ + { + id: headerSetting.control.greeting.type.radioSet[ + headerSetting.control.greeting.type.radioSet.length - 1 + ].radio.value, + content: headerSetting.control.greeting.custom.area, + }, + ], }); headerSetting.control.greeting.name = new Control_text({ @@ -548,7 +560,7 @@ headerSetting.greeting = (parent) => { action: () => { header.element.greeting.update(); data.save(); - } + }, }); headerSetting.control.greeting.area = node('div', [ @@ -556,26 +568,26 @@ headerSetting.greeting = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.greeting.custom.collapse.collapse() - ] - }) - ] + children: [headerSetting.control.greeting.custom.collapse.collapse()], + }), + ], }), node('hr'), headerSetting.control.greeting.name.wrap(), node('hr'), headerSetting.control.greeting.size.wrap(), node('hr'), - headerSetting.control.greeting.newLine.wrap() + headerSetting.control.greeting.newLine.wrap(), ]); headerSetting.control.greeting.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.greeting.show, - target: [{ - content: headerSetting.control.greeting.area - }] + target: [ + { + content: headerSetting.control.greeting.area, + }, + ], }); parent.appendChild( @@ -584,20 +596,19 @@ headerSetting.greeting = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.greeting.collapse.collapse() - ] - }) - ] - }) + children: [headerSetting.control.greeting.collapse.collapse()], + }), + ], + }), ]) ); - }; headerSetting.transitional = (parent) => { - - headerSetting.edge.transitional.size = new Edge({ primary: header.element.transitional.transitional(), secondary: [header.element.area] }); + headerSetting.edge.transitional.size = new Edge({ + primary: header.element.transitional.transitional(), + secondary: [header.element.area], + }); headerSetting.control.transitional.show = new Control_checkbox({ object: state.get.current(), @@ -610,26 +621,42 @@ headerSetting.transitional = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.transitional.collapse.update(); data.save(); - } + }, }); headerSetting.control.transitional.showHelper = new Control_helperText({ - text: [message.get('menuContentHeaderTransitionalShowHelperPara1')] + text: [message.get('menuContentHeaderTransitionalShowHelperPara1')], }); headerSetting.control.transitional.type = new Control_radio({ object: state.get.current(), label: message.get('menuContentHeaderTransitionalTypeLabel'), radioGroup: [ - { id: 'header-transitional-type-time-and-date', labelText: message.get('menuContentHeaderTransitionalTypeTimeAndDate'), value: 'time-and-date' }, - { id: 'header-transitional-type-its', labelText: message.get('menuContentHeaderTransitionalTypeIts'), value: 'its' } + { + id: 'header-transitional-type-time-and-date', + labelText: message.get('menuContentHeaderTransitionalTypeTimeAndDate'), + value: 'time-and-date', + }, + { + id: 'header-transitional-type-its', + labelText: message.get('menuContentHeaderTransitionalTypeIts'), + value: 'its', + }, ], groupName: 'header-transitional-type', path: 'header.transitional.type', @@ -637,7 +664,7 @@ headerSetting.transitional = (parent) => { header.element.transitional.update(); headerSetting.disable(); data.save(); - } + }, }); headerSetting.control.transitional.size = new Control_sliderSlim({ @@ -659,7 +686,7 @@ headerSetting.transitional = (parent) => { }, mouseUpAction: () => { headerSetting.edge.transitional.size.hide(); - } + }, }); headerSetting.control.transitional.newLine = new Control_checkbox({ @@ -671,7 +698,7 @@ headerSetting.transitional = (parent) => { action: () => { applyCSSState('header.transitional.newLine'); data.save(); - } + }, }); headerSetting.control.transitional.area = node('div', [ @@ -679,15 +706,17 @@ headerSetting.transitional = (parent) => { node('hr'), headerSetting.control.transitional.size.wrap(), node('hr'), - headerSetting.control.transitional.newLine.wrap() + headerSetting.control.transitional.newLine.wrap(), ]); headerSetting.control.transitional.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.transitional.show, - target: [{ - content: headerSetting.control.transitional.area - }] + target: [ + { + content: headerSetting.control.transitional.area, + }, + ], }); parent.appendChild( @@ -697,20 +726,19 @@ headerSetting.transitional = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.transitional.collapse.collapse() - ] - }) - ] - }) + children: [headerSetting.control.transitional.collapse.collapse()], + }), + ], + }), ]) ); - }; headerSetting.clock = (parent) => { - - headerSetting.edge.clock.size = new Edge({ primary: header.element.clock.clock(), secondary: [header.element.area] }); + headerSetting.edge.clock.size = new Edge({ + primary: header.element.clock.clock(), + secondary: [header.element.area], + }); headerSetting.control.clock.hour = {}; @@ -725,41 +753,59 @@ headerSetting.clock = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.clock.hour.collapse.update(); headerSetting.control.clock.collapse.update(); data.save(); - } + }, }); headerSetting.control.clock.hour.display = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'header-clock-hour-display-number', labelText: message.get('menuContentHeaderClockHourDisplayNumber'), value: 'number' }, - { id: 'header-clock-hour-display-word', labelText: message.get('menuContentHeaderClockHourDisplayWord'), value: 'word' } + { + id: 'header-clock-hour-display-number', + labelText: message.get('menuContentHeaderClockHourDisplayNumber'), + value: 'number', + }, + { + id: 'header-clock-hour-display-word', + labelText: message.get('menuContentHeaderClockHourDisplayWord'), + value: 'word', + }, ], groupName: 'header-clock-hour-display', path: 'header.clock.hour.display', action: () => { header.element.clock.update(); data.save(); - } + }, }); headerSetting.control.clock.hour.area = node('div', [ - headerSetting.control.clock.hour.display.wrap() + headerSetting.control.clock.hour.display.wrap(), ]); headerSetting.control.clock.hour.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.clock.hour.show, - target: [{ - content: headerSetting.control.clock.hour.area - }] + target: [ + { + content: headerSetting.control.clock.hour.area, + }, + ], }); headerSetting.control.clock.minute = {}; @@ -775,41 +821,59 @@ headerSetting.clock = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.clock.minute.collapse.update(); headerSetting.control.clock.collapse.update(); data.save(); - } + }, }); headerSetting.control.clock.minute.display = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'header-clock-minute-display-number', labelText: message.get('menuContentHeaderClockMinuteDisplayNumber'), value: 'number' }, - { id: 'header-clock-minute-display-word', labelText: message.get('menuContentHeaderClockMinuteDisplayWord'), value: 'word' } + { + id: 'header-clock-minute-display-number', + labelText: message.get('menuContentHeaderClockMinuteDisplayNumber'), + value: 'number', + }, + { + id: 'header-clock-minute-display-word', + labelText: message.get('menuContentHeaderClockMinuteDisplayWord'), + value: 'word', + }, ], groupName: 'header-clock-minute-display', path: 'header.clock.minute.display', action: () => { header.element.clock.update(); data.save(); - } + }, }); headerSetting.control.clock.minute.area = node('div', [ - headerSetting.control.clock.minute.display.wrap() + headerSetting.control.clock.minute.display.wrap(), ]); headerSetting.control.clock.minute.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.clock.minute.show, - target: [{ - content: headerSetting.control.clock.minute.area - }] + target: [ + { + content: headerSetting.control.clock.minute.area, + }, + ], }); headerSetting.control.clock.second = {}; @@ -825,41 +889,59 @@ headerSetting.clock = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.clock.second.collapse.update(); headerSetting.control.clock.collapse.update(); data.save(); - } + }, }); headerSetting.control.clock.second.display = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'header-clock-second-display-number', labelText: message.get('menuContentHeaderClockSecondDisplayNumber'), value: 'number' }, - { id: 'header-clock-second-display-word', labelText: message.get('menuContentHeaderClockSecondDisplayWord'), value: 'word' } + { + id: 'header-clock-second-display-number', + labelText: message.get('menuContentHeaderClockSecondDisplayNumber'), + value: 'number', + }, + { + id: 'header-clock-second-display-word', + labelText: message.get('menuContentHeaderClockSecondDisplayWord'), + value: 'word', + }, ], groupName: 'header-clock-second-display', path: 'header.clock.second.display', action: () => { header.element.clock.update(); data.save(); - } + }, }); headerSetting.control.clock.second.area = node('div', [ - headerSetting.control.clock.second.display.wrap() + headerSetting.control.clock.second.display.wrap(), ]); headerSetting.control.clock.second.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.clock.second.show, - target: [{ - content: headerSetting.control.clock.second.area - }] + target: [ + { + content: headerSetting.control.clock.second.area, + }, + ], }); headerSetting.control.clock.separator = {}; @@ -874,7 +956,7 @@ headerSetting.clock = (parent) => { headerSetting.control.clock.separator.collapse.update(); headerSetting.disable(); data.save(); - } + }, }); headerSetting.control.clock.separator.text = new Control_textReset({ @@ -889,19 +971,21 @@ headerSetting.clock = (parent) => { action: () => { header.element.clock.update(); data.save(); - } + }, }); headerSetting.control.clock.separator.area = node('div', [ - headerSetting.control.clock.separator.text.wrap() + headerSetting.control.clock.separator.text.wrap(), ]); headerSetting.control.clock.separator.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.clock.separator.show, - target: [{ - content: headerSetting.control.clock.separator.area - }] + target: [ + { + content: headerSetting.control.clock.separator.area, + }, + ], }); headerSetting.control.clock.hour24 = { @@ -914,8 +998,8 @@ headerSetting.clock = (parent) => { header.element.clock.update(); headerSetting.disable(); data.save(); - } - }) + }, + }), }; headerSetting.control.clock.meridiem = { @@ -927,8 +1011,8 @@ headerSetting.clock = (parent) => { action: () => { header.element.clock.update(); data.save(); - } - }) + }, + }), }; headerSetting.control.clock.size = new Control_sliderSlim({ @@ -950,7 +1034,7 @@ headerSetting.clock = (parent) => { }, mouseUpAction: () => { headerSetting.edge.clock.size.hide(); - } + }, }); headerSetting.control.clock.newLine = new Control_checkbox({ @@ -962,7 +1046,7 @@ headerSetting.clock = (parent) => { action: () => { applyCSSState('header.clock.newLine'); data.save(); - } + }, }); headerSetting.control.clock.area = node('div', [ @@ -971,11 +1055,9 @@ headerSetting.clock = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.clock.separator.collapse.collapse() - ] - }) - ] + children: [headerSetting.control.clock.separator.collapse.collapse()], + }), + ], }), node('hr'), headerSetting.control.clock.hour24.show.wrap(), @@ -983,15 +1065,21 @@ headerSetting.clock = (parent) => { node('hr'), headerSetting.control.clock.size.wrap(), node('hr'), - headerSetting.control.clock.newLine.wrap() + headerSetting.control.clock.newLine.wrap(), ]); headerSetting.control.clock.collapse = new Collapse({ type: 'checkbox', - checkbox: [headerSetting.control.clock.hour.show, headerSetting.control.clock.minute.show, headerSetting.control.clock.second.show], - target: [{ - content: headerSetting.control.clock.area - }] + checkbox: [ + headerSetting.control.clock.hour.show, + headerSetting.control.clock.minute.show, + headerSetting.control.clock.second.show, + ], + target: [ + { + content: headerSetting.control.clock.area, + }, + ], }); parent.appendChild( @@ -1000,49 +1088,42 @@ headerSetting.clock = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.clock.hour.collapse.collapse() - ] - }) - ] + children: [headerSetting.control.clock.hour.collapse.collapse()], + }), + ], }), headerSetting.control.clock.minute.show.wrap(), form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.clock.minute.collapse.collapse() - ] - }) - ] + children: [headerSetting.control.clock.minute.collapse.collapse()], + }), + ], }), headerSetting.control.clock.second.show.wrap(), form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.clock.second.collapse.collapse() - ] - }) - ] + children: [headerSetting.control.clock.second.collapse.collapse()], + }), + ], }), form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.clock.collapse.collapse() - ] - }) - ] - }) + children: [headerSetting.control.clock.collapse.collapse()], + }), + ], + }), ]) ); - }; headerSetting.date = (parent) => { - - headerSetting.edge.date.size = new Edge({ primary: header.element.date.date(), secondary: [header.element.area] }); + headerSetting.edge.date.size = new Edge({ + primary: header.element.date.date(), + secondary: [header.element.area], + }); headerSetting.control.date.day = {}; @@ -1057,22 +1138,38 @@ headerSetting.date = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.date.day.collapse.update(); headerSetting.control.date.collapse.update(); data.save(); - } + }, }); headerSetting.control.date.day.display = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'header-date-day-display-number', labelText: message.get('menuContentHeaderDateDayDisplayNumber'), value: 'number' }, - { id: 'header-date-day-display-word', labelText: message.get('menuContentHeaderDateDayDisplayWord'), value: 'word' } + { + id: 'header-date-day-display-number', + labelText: message.get('menuContentHeaderDateDayDisplayNumber'), + value: 'number', + }, + { + id: 'header-date-day-display-word', + labelText: message.get('menuContentHeaderDateDayDisplayWord'), + value: 'word', + }, ], groupName: 'header-date-day-display', path: 'header.date.day.display', @@ -1082,21 +1179,41 @@ headerSetting.date = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.date.day.weekStart = new Control_radio({ object: state.get.current(), label: message.get('menuContentHeaderDateDayDisplayWeekStartLabel'), radioGroup: [ - { id: 'header-date-day-week-start-monday', labelText: message.get('menuContentHeaderDateDayDisplayWeekStartMonday'), value: 'monday' }, - { id: 'header-date-day-week-start-sunday', labelText: message.get('menuContentHeaderDateDayDisplayWeekStartSunday'), value: 'sunday' } + { + id: 'header-date-day-week-start-monday', + labelText: message.get( + 'menuContentHeaderDateDayDisplayWeekStartMonday' + ), + value: 'monday', + }, + { + id: 'header-date-day-week-start-sunday', + labelText: message.get( + 'menuContentHeaderDateDayDisplayWeekStartSunday' + ), + value: 'sunday', + }, ], groupName: 'header-date-day-week-start', path: 'header.date.day.weekStart', @@ -1105,21 +1222,37 @@ headerSetting.date = (parent) => { header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.date.day.length = new Control_radio({ object: state.get.current(), label: message.get('menuContentHeaderDateDayDisplayLengthLabel'), radioGroup: [ - { id: 'header-date-day-length-long', labelText: message.get('menuContentHeaderDateDayDisplayLengthLong'), value: 'long' }, - { id: 'header-date-day-length-short', labelText: message.get('menuContentHeaderDateDayDisplayLengthShort'), value: 'short' } + { + id: 'header-date-day-length-long', + labelText: message.get('menuContentHeaderDateDayDisplayLengthLong'), + value: 'long', + }, + { + id: 'header-date-day-length-short', + labelText: message.get('menuContentHeaderDateDayDisplayLengthShort'), + value: 'short', + }, ], groupName: 'header-date-day-length', path: 'header.date.day.length', @@ -1128,28 +1261,50 @@ headerSetting.date = (parent) => { header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.date.day.area = node('div', [ headerSetting.control.date.day.display.radioSet[0].wrap(), - form.wrap({ children: [form.indent({ children: [headerSetting.control.date.day.weekStart.wrap()] })] }), + form.wrap({ + children: [ + form.indent({ + children: [headerSetting.control.date.day.weekStart.wrap()], + }), + ], + }), headerSetting.control.date.day.display.radioSet[1].wrap(), - form.wrap({ children: [form.indent({ children: [headerSetting.control.date.day.length.wrap()] })] }) + form.wrap({ + children: [ + form.indent({ + children: [headerSetting.control.date.day.length.wrap()], + }), + ], + }), ]); headerSetting.control.date.day.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.date.day.show, - target: [{ - content: headerSetting.control.date.day.area - }] + target: [ + { + content: headerSetting.control.date.day.area, + }, + ], }); headerSetting.control.date.date = {}; @@ -1165,22 +1320,38 @@ headerSetting.date = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.date.date.collapse.update(); headerSetting.control.date.collapse.update(); data.save(); - } + }, }); headerSetting.control.date.date.display = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'header-date-date-display-number', labelText: message.get('menuContentHeaderDateDateDisplayNumber'), value: 'number' }, - { id: 'header-date-date-display-word', labelText: message.get('menuContentHeaderDateDateDisplayWord'), value: 'word' } + { + id: 'header-date-date-display-number', + labelText: message.get('menuContentHeaderDateDateDisplayNumber'), + value: 'number', + }, + { + id: 'header-date-date-display-word', + labelText: message.get('menuContentHeaderDateDateDisplayWord'), + value: 'word', + }, ], groupName: 'header-date-date-display', path: 'header.date.date.display', @@ -1189,13 +1360,21 @@ headerSetting.date = (parent) => { header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.date.date.ordinal = new Control_checkbox({ @@ -1206,20 +1385,22 @@ headerSetting.date = (parent) => { action: () => { header.element.date.update(); data.save(); - } + }, }); headerSetting.control.date.date.area = node('div', [ headerSetting.control.date.date.display.wrap(), - headerSetting.control.date.date.ordinal.wrap() + headerSetting.control.date.date.ordinal.wrap(), ]); headerSetting.control.date.date.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.date.date.show, - target: [{ - content: headerSetting.control.date.date.area - }] + target: [ + { + content: headerSetting.control.date.date.area, + }, + ], }); headerSetting.control.date.month = {}; @@ -1235,22 +1416,38 @@ headerSetting.date = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.date.month.collapse.update(); headerSetting.control.date.collapse.update(); data.save(); - } + }, }); headerSetting.control.date.month.display = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'header-date-month-display-number', labelText: message.get('menuContentHeaderDateMonthDisplayNumber'), value: 'number' }, - { id: 'header-date-month-display-word', labelText: message.get('menuContentHeaderDateMonthDisplayWord'), value: 'word' } + { + id: 'header-date-month-display-number', + labelText: message.get('menuContentHeaderDateMonthDisplayNumber'), + value: 'number', + }, + { + id: 'header-date-month-display-word', + labelText: message.get('menuContentHeaderDateMonthDisplayWord'), + value: 'word', + }, ], groupName: 'header-date-month-display', path: 'header.date.month.display', @@ -1260,21 +1457,37 @@ headerSetting.date = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.date.month.length = new Control_radio({ object: state.get.current(), label: message.get('menuContentHeaderDateMonthDisplayLengthLabel'), radioGroup: [ - { id: 'header-date-month-length-long', labelText: message.get('menuContentHeaderDateMonthDisplayLengthLong'), value: 'long' }, - { id: 'header-date-month-length-short', labelText: message.get('menuContentHeaderDateMonthDisplayLengthShort'), value: 'short' } + { + id: 'header-date-month-length-long', + labelText: message.get('menuContentHeaderDateMonthDisplayLengthLong'), + value: 'long', + }, + { + id: 'header-date-month-length-short', + labelText: message.get('menuContentHeaderDateMonthDisplayLengthShort'), + value: 'short', + }, ], groupName: 'header-date-month-length', path: 'header.date.month.length', @@ -1283,13 +1496,21 @@ headerSetting.date = (parent) => { header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.date.month.ordinal = new Control_checkbox({ @@ -1300,22 +1521,36 @@ headerSetting.date = (parent) => { action: () => { header.element.date.update(); data.save(); - } + }, }); headerSetting.control.date.month.area = node('div', [ headerSetting.control.date.month.display.radioSet[0].wrap(), - form.wrap({ children: [form.indent({ children: [headerSetting.control.date.month.ordinal.wrap()] })] }), + form.wrap({ + children: [ + form.indent({ + children: [headerSetting.control.date.month.ordinal.wrap()], + }), + ], + }), headerSetting.control.date.month.display.radioSet[1].wrap(), - form.wrap({ children: [form.indent({ children: [headerSetting.control.date.month.length.wrap()] })] }) + form.wrap({ + children: [ + form.indent({ + children: [headerSetting.control.date.month.length.wrap()], + }), + ], + }), ]); headerSetting.control.date.month.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.date.month.show, - target: [{ - content: headerSetting.control.date.month.area - }] + target: [ + { + content: headerSetting.control.date.month.area, + }, + ], }); headerSetting.control.date.year = {}; @@ -1331,22 +1566,38 @@ headerSetting.date = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.date.year.collapse.update(); headerSetting.control.date.collapse.update(); data.save(); - } + }, }); headerSetting.control.date.year.display = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'header-date-year-display-number', labelText: message.get('menuContentHeaderDateYearDisplayNumber'), value: 'number' }, - { id: 'header-date-year-display-word', labelText: message.get('menuContentHeaderDateYearDisplayWord'), value: 'word' } + { + id: 'header-date-year-display-number', + labelText: message.get('menuContentHeaderDateYearDisplayNumber'), + value: 'number', + }, + { + id: 'header-date-year-display-word', + labelText: message.get('menuContentHeaderDateYearDisplayWord'), + value: 'word', + }, ], groupName: 'header-date-year-display', path: 'header.date.year.display', @@ -1355,25 +1606,35 @@ headerSetting.date = (parent) => { header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.date.year.area = node('div', [ - headerSetting.control.date.year.display.wrap() + headerSetting.control.date.year.display.wrap(), ]); headerSetting.control.date.year.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.date.year.show, - target: [{ - content: headerSetting.control.date.year.area - }] + target: [ + { + content: headerSetting.control.date.year.area, + }, + ], }); headerSetting.control.date.separator = {}; @@ -1387,13 +1648,21 @@ headerSetting.date = (parent) => { header.element.date.update(); headerSetting.control.date.separator.collapse.update(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.date.separator.text = new Control_textReset({ @@ -1408,34 +1677,44 @@ headerSetting.date = (parent) => { action: () => { header.element.date.update(); data.save(); - } + }, }); headerSetting.control.date.separator.area = node('div', [ - headerSetting.control.date.separator.text.wrap() + headerSetting.control.date.separator.text.wrap(), ]); headerSetting.control.date.separator.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.date.separator.show, - target: [{ - content: headerSetting.control.date.separator.area - }] + target: [ + { + content: headerSetting.control.date.separator.area, + }, + ], }); headerSetting.control.date.format = new Control_radio({ object: state.get.current(), label: message.get('menuContentHeaderDateFormatLabel'), radioGroup: [ - { id: 'header-date-format-date-month', labelText: message.get('menuContentHeaderDateFormatDateMonth'), value: 'date-month' }, - { id: 'header-date-format-month-date', labelText: message.get('menuContentHeaderDateFormatMonthDate'), value: 'month-date' } + { + id: 'header-date-format-date-month', + labelText: message.get('menuContentHeaderDateFormatDateMonth'), + value: 'date-month', + }, + { + id: 'header-date-format-month-date', + labelText: message.get('menuContentHeaderDateFormatMonthDate'), + value: 'month-date', + }, ], groupName: 'header-date-format', path: 'header.date.format', action: () => { header.element.date.update(); data.save(); - } + }, }); headerSetting.control.date.size = new Control_sliderSlim({ @@ -1457,7 +1736,7 @@ headerSetting.date = (parent) => { }, mouseUpAction: () => { headerSetting.edge.date.size.hide(); - } + }, }); headerSetting.control.date.newLine = new Control_checkbox({ @@ -1469,7 +1748,7 @@ headerSetting.date = (parent) => { action: () => { applyCSSState('header.date.newLine'); data.save(); - } + }, }); headerSetting.control.date.area = node('div', [ @@ -1478,55 +1757,83 @@ headerSetting.date = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.date.separator.collapse.collapse() - ] - }) - ] + children: [headerSetting.control.date.separator.collapse.collapse()], + }), + ], }), node('hr'), headerSetting.control.date.format.wrap(), node('hr'), headerSetting.control.date.size.wrap(), node('hr'), - headerSetting.control.date.newLine.wrap() + headerSetting.control.date.newLine.wrap(), ]); headerSetting.control.date.collapse = new Collapse({ type: 'checkbox', - checkbox: [headerSetting.control.date.day.show, headerSetting.control.date.date.show, headerSetting.control.date.month.show, headerSetting.control.date.year.show], - target: [{ - content: headerSetting.control.date.area - }] + checkbox: [ + headerSetting.control.date.day.show, + headerSetting.control.date.date.show, + headerSetting.control.date.month.show, + headerSetting.control.date.year.show, + ], + target: [ + { + content: headerSetting.control.date.area, + }, + ], }); parent.appendChild( node('div', [ headerSetting.control.date.day.show.wrap(), - form.wrap({ children: [form.indent({ children: [headerSetting.control.date.day.collapse.collapse()] })] }), + form.wrap({ + children: [ + form.indent({ + children: [headerSetting.control.date.day.collapse.collapse()], + }), + ], + }), headerSetting.control.date.date.show.wrap(), - form.wrap({ children: [form.indent({ children: [headerSetting.control.date.date.collapse.collapse()] })] }), + form.wrap({ + children: [ + form.indent({ + children: [headerSetting.control.date.date.collapse.collapse()], + }), + ], + }), headerSetting.control.date.month.show.wrap(), - form.wrap({ children: [form.indent({ children: [headerSetting.control.date.month.collapse.collapse()] })] }), + form.wrap({ + children: [ + form.indent({ + children: [headerSetting.control.date.month.collapse.collapse()], + }), + ], + }), headerSetting.control.date.year.show.wrap(), - form.wrap({ children: [form.indent({ children: [headerSetting.control.date.year.collapse.collapse()] })] }), form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.date.collapse.collapse() - ] - }) - ] - }) + children: [headerSetting.control.date.year.collapse.collapse()], + }), + ], + }), + form.wrap({ + children: [ + form.indent({ + children: [headerSetting.control.date.collapse.collapse()], + }), + ], + }), ]) ); - }; headerSetting.search = (parent) => { - - headerSetting.edge.search.size = new Edge({ primary: header.element.search.search(), secondary: [header.element.area] }); + headerSetting.edge.search.size = new Edge({ + primary: header.element.search.search(), + secondary: [header.element.area], + }); headerSetting.control.search.show = new Control_checkbox({ object: state.get.current(), @@ -1539,14 +1846,22 @@ headerSetting.search = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.search.collapse.update(); data.save(); - } + }, }); headerSetting.control.search.width = { @@ -1554,8 +1869,22 @@ headerSetting.search = (parent) => { object: state.get.current(), label: message.get('menuContentHeaderSearchWidthLabel'), radioGroup: [ - { id: 'header-search-width-by-auto', labelText: message.get('menuContentHeaderSearchWidthAutoLabel'), description: message.get('menuContentHeaderSearchWidthAutoDescription'), value: 'auto' }, - { id: 'header-search-width-by-custom', labelText: message.get('menuContentHeaderSearchWidthCustomLabel'), description: message.get('menuContentHeaderSearchWidthCustomDescription'), value: 'custom' } + { + id: 'header-search-width-by-auto', + labelText: message.get('menuContentHeaderSearchWidthAutoLabel'), + description: message.get( + 'menuContentHeaderSearchWidthAutoDescription' + ), + value: 'auto', + }, + { + id: 'header-search-width-by-custom', + labelText: message.get('menuContentHeaderSearchWidthCustomLabel'), + description: message.get( + 'menuContentHeaderSearchWidthCustomDescription' + ), + value: 'custom', + }, ], groupName: 'header-search-width-by', path: 'header.search.width.by', @@ -1564,7 +1893,7 @@ headerSetting.search = (parent) => { headerSetting.disable(); headerSetting.control.search.width.collapse.update(); data.save(); - } + }, }), size: new Control_sliderSlim({ object: state.get.current(), @@ -1585,21 +1914,25 @@ headerSetting.search = (parent) => { }, mouseUpAction: () => { headerSetting.edge.search.size.hide(); - } - }) + }, + }), }; headerSetting.control.search.width.area = node('div', [ - headerSetting.control.search.width.size.wrap() + headerSetting.control.search.width.size.wrap(), ]); headerSetting.control.search.width.collapse = new Collapse({ type: 'radio', radioGroup: headerSetting.control.search.width.by, - target: [{ - id: headerSetting.control.search.width.by.radioSet[headerSetting.control.search.width.by.radioSet.length - 1].radio.value, - content: headerSetting.control.search.width.area - }] + target: [ + { + id: headerSetting.control.search.width.by.radioSet[ + headerSetting.control.search.width.by.radioSet.length - 1 + ].radio.value, + content: headerSetting.control.search.width.area, + }, + ], }); headerSetting.control.search.size = new Control_sliderSlim({ @@ -1621,7 +1954,7 @@ headerSetting.search = (parent) => { }, mouseUpAction: () => { headerSetting.edge.search.size.hide(); - } + }, }); headerSetting.control.search.newLine = new Control_checkbox({ @@ -1633,18 +1966,24 @@ headerSetting.search = (parent) => { action: () => { applyCSSState('header.search.newLine'); data.save(); - } + }, }); const searchEngineList = []; for (let key in searchEnginePreset) { - - searchEngineList.push({ id: `header-search-engine-selected-${key}`, labelText: searchEnginePreset[key].name, value: key }); - + searchEngineList.push({ + id: `header-search-engine-selected-${key}`, + labelText: searchEnginePreset[key].name, + value: key, + }); } - searchEngineList.push({ id: 'header-search-engine-selected-custom', labelText: message.get('menuContentHeaderSearchEngineSelectedCustom'), value: 'custom' }); + searchEngineList.push({ + id: 'header-search-engine-selected-custom', + labelText: message.get('menuContentHeaderSearchEngineSelectedCustom'), + value: 'custom', + }); headerSetting.control.search.engine = { selected: new Control_radio({ @@ -1659,14 +1998,22 @@ headerSetting.search = (parent) => { header.item.render(); layout.area.assemble(); headerSetting.disable(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); headerSetting.control.search.engine.custom.collapse.update(); data.save(); - } + }, }), custom: { name: new Control_text({ @@ -1674,74 +2021,116 @@ headerSetting.search = (parent) => { path: 'header.search.engine.custom.name', id: 'header-search-engine-custom-name', value: state.get.current().header.search.engine.custom.name, - placeholder: message.get('menuContentHeaderSearchEngineCustomNamePlaceholder'), + placeholder: message.get( + 'menuContentHeaderSearchEngineCustomNamePlaceholder' + ), labelText: message.get('menuContentHeaderSearchEngineCustomNameLabel'), action: () => { header.item.mod.order(); header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); - headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); + headerSetting.edge.date.size.update.primary( + header.element.date.date() + ); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }), url: new Control_text({ object: state.get.current(), path: 'header.search.engine.custom.url', id: 'header-search-engine-custom-url', value: state.get.current().header.search.engine.custom.url, - placeholder: message.get('menuContentHeaderSearchEngineCustomUrlPlaceholder'), + placeholder: message.get( + 'menuContentHeaderSearchEngineCustomUrlPlaceholder' + ), labelText: message.get('menuContentHeaderSearchEngineCustomUrlLabel'), action: () => { header.item.mod.order(); header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); - headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); + headerSetting.edge.date.size.update.primary( + header.element.date.date() + ); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }), urlHelper: new Control_helperText({ text: [ message.get('menuContentHeaderSearchEngineCustomUrlHelperPara1'), - message.get('menuContentHeaderSearchEngineCustomUrlHelperPara2') - ] + message.get('menuContentHeaderSearchEngineCustomUrlHelperPara2'), + ], }), queryName: new Control_text({ object: state.get.current(), path: 'header.search.engine.custom.queryName', id: 'header-search-engine-custom-queryName', value: state.get.current().header.search.engine.custom.queryName, - placeholder: message.get('menuContentHeaderSearchEngineCustomQueryNamePlaceholder'), - labelText: message.get('menuContentHeaderSearchEngineCustomQueryNameLabel'), + placeholder: message.get( + 'menuContentHeaderSearchEngineCustomQueryNamePlaceholder' + ), + labelText: message.get( + 'menuContentHeaderSearchEngineCustomQueryNameLabel' + ), action: () => { header.item.mod.order(); header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); - headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); + headerSetting.edge.date.size.update.primary( + header.element.date.date() + ); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }), queryNameHelper: new Control_helperText({ text: [ - message.get('menuContentHeaderSearchEngineCustomQueryNameHelperPara1'), - message.get('menuContentHeaderSearchEngineCustomQueryNameHelperPara2') - ] - }) - } + message.get( + 'menuContentHeaderSearchEngineCustomQueryNameHelperPara1' + ), + message.get( + 'menuContentHeaderSearchEngineCustomQueryNameHelperPara2' + ), + ], + }), + }, }; headerSetting.control.search.engine.custom.area = node('div', [ @@ -1749,25 +2138,50 @@ headerSetting.search = (parent) => { headerSetting.control.search.engine.custom.url.wrap(), headerSetting.control.search.engine.custom.urlHelper.wrap(), headerSetting.control.search.engine.custom.queryName.wrap(), - headerSetting.control.search.engine.custom.queryNameHelper.wrap() + headerSetting.control.search.engine.custom.queryNameHelper.wrap(), ]); headerSetting.control.search.engine.custom.collapse = new Collapse({ type: 'radio', radioGroup: headerSetting.control.search.engine.selected, - target: [{ - id: headerSetting.control.search.engine.selected.radioSet[headerSetting.control.search.engine.selected.radioSet.length - 1].radio.value, - content: headerSetting.control.search.engine.custom.area - }] + target: [ + { + id: headerSetting.control.search.engine.selected.radioSet[ + headerSetting.control.search.engine.selected.radioSet.length - 1 + ].radio.value, + content: headerSetting.control.search.engine.custom.area, + }, + ], }); headerSetting.control.search.text = { justify: new Control_radioGrid({ object: state.get.current(), radioGroup: [ - { id: 'header-search-text-justify-left', labelText: message.get('menuContentHeaderSearchEngineTextJustifyLeft'), value: 'left', position: 1 }, - { id: 'header-search-text-justify-center', labelText: message.get('menuContentHeaderSearchEngineTextJustifyCenter'), value: 'center', position: 2 }, - { id: 'header-search-text-justify-right', labelText: message.get('menuContentHeaderSearchEngineTextJustifyRight'), value: 'right', position: 3 } + { + id: 'header-search-text-justify-left', + labelText: message.get( + 'menuContentHeaderSearchEngineTextJustifyLeft' + ), + value: 'left', + position: 1, + }, + { + id: 'header-search-text-justify-center', + labelText: message.get( + 'menuContentHeaderSearchEngineTextJustifyCenter' + ), + value: 'center', + position: 2, + }, + { + id: 'header-search-text-justify-right', + labelText: message.get( + 'menuContentHeaderSearchEngineTextJustifyRight' + ), + value: 'right', + position: 3, + }, ], label: message.get('menuContentHeaderSearchEngineTextJustifyLabel'), groupName: 'header-search-text-justify', @@ -1776,8 +2190,8 @@ headerSetting.search = (parent) => { action: () => { applyCSSClass('header.search.text.justify'); data.save(); - } - }) + }, + }), }; headerSetting.control.search.newTab = new Control_checkbox({ @@ -1790,13 +2204,21 @@ headerSetting.search = (parent) => { header.item.clear(); header.item.render(); layout.area.assemble(); - headerSetting.edge.greeting.size.update.primary(header.element.greeting.greeting()); - headerSetting.edge.transitional.size.update.primary(header.element.transitional.transitional()); - headerSetting.edge.clock.size.update.primary(header.element.clock.clock()); + headerSetting.edge.greeting.size.update.primary( + header.element.greeting.greeting() + ); + headerSetting.edge.transitional.size.update.primary( + header.element.transitional.transitional() + ); + headerSetting.edge.clock.size.update.primary( + header.element.clock.clock() + ); headerSetting.edge.date.size.update.primary(header.element.date.date()); - headerSetting.edge.search.size.update.primary(header.element.search.search()); + headerSetting.edge.search.size.update.primary( + header.element.search.search() + ); data.save(); - } + }, }); headerSetting.control.search.area = node('div', [ @@ -1804,11 +2226,9 @@ headerSetting.search = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.search.width.collapse.collapse() - ] - }) - ] + children: [headerSetting.control.search.width.collapse.collapse()], + }), + ], }), node('hr'), headerSetting.control.search.size.wrap(), @@ -1820,23 +2240,25 @@ headerSetting.search = (parent) => { children: [ form.indent({ children: [ - headerSetting.control.search.engine.custom.collapse.collapse() - ] - }) - ] + headerSetting.control.search.engine.custom.collapse.collapse(), + ], + }), + ], }), node('hr'), headerSetting.control.search.text.justify.wrap(), node('hr'), - headerSetting.control.search.newTab.wrap() + headerSetting.control.search.newTab.wrap(), ]); headerSetting.control.search.collapse = new Collapse({ type: 'checkbox', checkbox: headerSetting.control.search.show, - target: [{ - content: headerSetting.control.search.area - }] + target: [ + { + content: headerSetting.control.search.area, + }, + ], }); parent.appendChild( @@ -1845,15 +2267,12 @@ headerSetting.search = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - headerSetting.control.search.collapse.collapse() - ] - }) - ] - }) + children: [headerSetting.control.search.collapse.collapse()], + }), + ], + }), ]) ); - }; export { headerSetting }; diff --git a/src/component/menuContent/index.js b/src/component/menuContent/index.js index 494e5cf6..40ab99bd 100644 --- a/src/component/menuContent/index.js +++ b/src/component/menuContent/index.js @@ -18,22 +18,24 @@ import { uppercaseFirstLetter } from '../../utility/uppercaseFirstLetter'; import './index.css'; -export const MenuContent = function({ +export const MenuContent = function ({ activeNavData = {}, - container = false + container = false, } = {}) { - this.element = { content: (name) => { - return node('div|id:menu-content-item-' + this.makeId(name) + ',class:menu-content-item'); + return node( + 'div|id:menu-content-item-' + + this.makeId(name) + + ',class:menu-content-item' + ); }, header: (name) => { return node('div|class:menu-item-header', [ - node('h1:' + name + '|class:menu-item-header-text') + node('h1:' + name + '|class:menu-item-header-text'), ]); }, form: ({ indent = false } = {}) => { - const formElement = node('div|class:menu-item-form'); if (indent) { @@ -41,25 +43,27 @@ export const MenuContent = function({ } return formElement; - } + }, }; this.content = () => { - if (activeNavData.sub && activeNavData.sub.length > 0) { - activeNavData.sub.forEach((item) => { - const menuContentItem = this.element.content(item); - menuContentItem.appendChild(this.element.header( - message.get(`menuNav${uppercaseFirstLetter(activeNavData.name)}SubNav${uppercaseFirstLetter(item)}`) - )); + menuContentItem.appendChild( + this.element.header( + message.get( + `menuNav${uppercaseFirstLetter( + activeNavData.name + )}SubNav${uppercaseFirstLetter(item)}` + ) + ) + ); const formElement = this.element.form({ indent: true }); switch (this.makeId(activeNavData.name)) { - case 'layout': layoutSetting[this.makeId(item)](formElement); break; @@ -91,17 +95,14 @@ export const MenuContent = function({ case 'debug': debugSetting[this.makeId(item)](formElement); break; - } menuContentItem.appendChild(formElement); container.appendChild(menuContentItem); - }); switch (this.makeId(activeNavData.name)) { - case 'layout': layoutSetting.disable(); break; @@ -125,20 +126,21 @@ export const MenuContent = function({ case 'theme': themeSetting.disable(); break; - } - } else { - const menuContentItem = this.element.content(activeNavData.name); let formElement; switch (this.makeId(activeNavData.name)) { - case 'language': - - menuContentItem.appendChild(this.element.header(message.get(`menuNav${uppercaseFirstLetter(activeNavData.name)}Label`))); + menuContentItem.appendChild( + this.element.header( + message.get( + `menuNav${uppercaseFirstLetter(activeNavData.name)}Label` + ) + ) + ); formElement = this.element.form({ indent: true }); @@ -147,8 +149,13 @@ export const MenuContent = function({ break; case 'support': - - menuContentItem.appendChild(this.element.header(message.get(`menuNav${uppercaseFirstLetter(activeNavData.name)}Label`))); + menuContentItem.appendChild( + this.element.header( + message.get( + `menuNav${uppercaseFirstLetter(activeNavData.name)}Label` + ) + ) + ); formElement = this.element.form({ indent: true }); @@ -157,8 +164,13 @@ export const MenuContent = function({ break; case 'coffee': - - menuContentItem.appendChild(this.element.header(message.get(`menuNav${uppercaseFirstLetter(activeNavData.name)}Label`))); + menuContentItem.appendChild( + this.element.header( + message.get( + `menuNav${uppercaseFirstLetter(activeNavData.name)}Label` + ) + ) + ); formElement = this.element.form({ indent: true }); @@ -167,25 +179,20 @@ export const MenuContent = function({ break; case 'app': - formElement = this.element.form(); appSetting[this.makeId(activeNavData.name)](formElement); break; - } menuContentItem.appendChild(formElement); container.appendChild(menuContentItem); - } - }; this.makeId = (name) => { return name.split(' ')[0].toLowerCase(); }; - }; diff --git a/src/component/menuContent/languageSetting/index.js b/src/component/menuContent/languageSetting/index.js index e1704bcb..c9e2fd04 100644 --- a/src/component/menuContent/languageSetting/index.js +++ b/src/component/menuContent/languageSetting/index.js @@ -19,19 +19,16 @@ import { node } from '../../../utility/node'; const languageSetting = {}; languageSetting.control = { - language: {} + language: {}, }; languageSetting.language = (parent) => { - const selectedLanguageIndex = () => { - let index = 0; index = message.language.code().indexOf(state.get.current().language); return index; - }; languageSetting.control.language.selected = new Control_select({ @@ -42,8 +39,10 @@ languageSetting.language = (parent) => { option: message.language.list(), selected: selectedLanguageIndex(), action: () => { - - state.get.current().language = message.language.code()[languageSetting.control.language.selected.selected()]; + state.get.current().language = + message.language.code()[ + languageSetting.control.language.selected.selected() + ]; data.save(); toolbar.bar.render(); header.item.clear(); @@ -51,31 +50,29 @@ languageSetting.language = (parent) => { groupAndBookmark.render(); menu.close(); menu.open(); - - } + }, }); languageSetting.control.link = new Link({ text: message.get('menuContentLanguageAlertLink'), href: `https://github.com/zombieFox/${APP_NAME}`, - openNew: true + openNew: true, }); languageSetting.control.alert = new Alert({ iconName: 'globe', children: [ node(`p:${message.get('menuContentLanguageAlertPara')}`), - node('p', languageSetting.control.link.link()) - ] + node('p', languageSetting.control.link.link()), + ], }); parent.appendChild( node('div', [ languageSetting.control.language.selected.wrap(), - languageSetting.control.alert.wrap() + languageSetting.control.alert.wrap(), ]) ); - }; export { languageSetting }; diff --git a/src/component/menuContent/layoutSetting/index.js b/src/component/menuContent/layoutSetting/index.js index ee932f86..e0307c9d 100644 --- a/src/component/menuContent/layoutSetting/index.js +++ b/src/component/menuContent/layoutSetting/index.js @@ -31,43 +31,32 @@ layoutSetting.control = { padding: {}, gutter: {}, alignment: {}, - page: {} + page: {}, }; layoutSetting.disable = () => { - if (state.get.current().bookmark.show) { - layoutSetting.control.area.bookmark.width.enable(); layoutSetting.control.area.bookmark.justify.enable(); layoutSetting.control.area.bookmark.justifyHelper1.enable(); - } else { - layoutSetting.control.area.bookmark.width.disable(); layoutSetting.control.area.bookmark.justify.disable(); layoutSetting.control.area.bookmark.justifyHelper1.disable(); - } if (state.get.current().header.order.length > 0) { - layoutSetting.control.area.header.width.enable(); layoutSetting.control.area.header.justify.enable(); layoutSetting.control.area.header.justifyHelper1.enable(); - } else { - layoutSetting.control.area.header.width.disable(); layoutSetting.control.area.header.justify.disable(); layoutSetting.control.area.header.justifyHelper1.disable(); - } if (state.get.current().bookmark.show) { - switch (state.get.current().layout.direction) { - case 'vertical': layoutSetting.control.area.header.justify.enable(); layoutSetting.control.area.header.justifyHelper1.enable(); @@ -81,9 +70,7 @@ layoutSetting.disable = () => { layoutSetting.control.area.bookmark.justify.disable(); layoutSetting.control.area.bookmark.justifyHelper1.disable(); break; - } - } if (state.get.current().layout.overscroll.active) { @@ -91,7 +78,6 @@ layoutSetting.disable = () => { } else { layoutSetting.control.page.overscroll.unblur.disable(); } - }; layoutSetting.edge = { @@ -99,12 +85,13 @@ layoutSetting.edge = { area: {}, padding: {}, gutter: {}, - alignment: {} + alignment: {}, }; layoutSetting.scaling = (parent) => { - - layoutSetting.edge.scaling.size = new Edge({ primary: layout.element.layout }); + layoutSetting.edge.scaling.size = new Edge({ + primary: layout.element.layout, + }); layoutSetting.control.scaling.size = new Control_slider({ object: state.get.current(), @@ -125,24 +112,24 @@ layoutSetting.scaling = (parent) => { }, mouseUpAction: () => { layoutSetting.edge.scaling.size.hide(); - } + }, }); - parent.appendChild( - node('div', [ - layoutSetting.control.scaling.size.wrap() - ]) - ); - + parent.appendChild(node('div', [layoutSetting.control.scaling.size.wrap()])); }; layoutSetting.area = (parent) => { - layoutSetting.edge.area.width = new Edge({ primary: layout.element.layout }); - layoutSetting.edge.area.header = new Edge({ primary: header.element.area, secondary: [layout.element.layout] }); + layoutSetting.edge.area.header = new Edge({ + primary: header.element.area, + secondary: [layout.element.layout], + }); - layoutSetting.edge.area.bookmark = new Edge({ primary: bookmark.element.area, secondary: [layout.element.layout] }); + layoutSetting.edge.area.bookmark = new Edge({ + primary: bookmark.element.area, + secondary: [layout.element.layout], + }); layoutSetting.control.area.width = new Control_slider({ object: state.get.current(), @@ -163,7 +150,7 @@ layoutSetting.area = (parent) => { }, mouseUpAction: () => { layoutSetting.edge.area.width.hide(); - } + }, }); layoutSetting.control.area.header = { @@ -186,14 +173,29 @@ layoutSetting.area = (parent) => { }, mouseUpAction: () => { layoutSetting.edge.area.header.hide(); - } + }, }), justify: new Control_radioGrid({ object: state.get.current(), radioGroup: [ - { id: 'layout-area-header-justify-left', labelText: message.get('menuContentLayoutAreaHeaderJustifyLeft'), value: 'left', position: 1 }, - { id: 'layout-area-header-justify-center', labelText: message.get('menuContentLayoutAreaHeaderJustifyCenter'), value: 'center', position: 2 }, - { id: 'layout-area-header-justify-right', labelText: message.get('menuContentLayoutAreaHeaderJustifyRight'), value: 'right', position: 3 } + { + id: 'layout-area-header-justify-left', + labelText: message.get('menuContentLayoutAreaHeaderJustifyLeft'), + value: 'left', + position: 1, + }, + { + id: 'layout-area-header-justify-center', + labelText: message.get('menuContentLayoutAreaHeaderJustifyCenter'), + value: 'center', + position: 2, + }, + { + id: 'layout-area-header-justify-right', + labelText: message.get('menuContentLayoutAreaHeaderJustifyRight'), + value: 'right', + position: 3, + }, ], label: message.get('menuContentLayoutAreaHeaderJustifyLabel'), groupName: 'layout-area-header-justify', @@ -202,15 +204,15 @@ layoutSetting.area = (parent) => { action: () => { applyCSSClass('layout.area.header.justify'); data.save(); - } + }, }), justifyHelper1: new Control_helperText({ - text: [message.get('menuContentLayoutAreaHeaderJustifyHelper1Para1')] + text: [message.get('menuContentLayoutAreaHeaderJustifyHelper1Para1')], }), justifyHelper2: new Control_helperText({ complexText: true, - text: [message.get('menuContentLayoutAreaHeaderJustifyHelper2Para1')] - }) + text: [message.get('menuContentLayoutAreaHeaderJustifyHelper2Para1')], + }), }; layoutSetting.control.area.bookmark = { @@ -233,14 +235,29 @@ layoutSetting.area = (parent) => { }, mouseUpAction: () => { layoutSetting.edge.area.bookmark.hide(); - } + }, }), justify: new Control_radioGrid({ object: state.get.current(), radioGroup: [ - { id: 'layout-area-bookmark-justify-left', labelText: message.get('menuContentLayoutAreaBookmarkJustifyLeft'), value: 'left', position: 1 }, - { id: 'layout-area-bookmark-justify-center', labelText: message.get('menuContentLayoutAreaBookmarkJustifyCenter'), value: 'center', position: 2 }, - { id: 'layout-area-bookmark-justify-right', labelText: message.get('menuContentLayoutAreaBookmarkJustifyRight'), value: 'right', position: 3 } + { + id: 'layout-area-bookmark-justify-left', + labelText: message.get('menuContentLayoutAreaBookmarkJustifyLeft'), + value: 'left', + position: 1, + }, + { + id: 'layout-area-bookmark-justify-center', + labelText: message.get('menuContentLayoutAreaBookmarkJustifyCenter'), + value: 'center', + position: 2, + }, + { + id: 'layout-area-bookmark-justify-right', + labelText: message.get('menuContentLayoutAreaBookmarkJustifyRight'), + value: 'right', + position: 3, + }, ], label: message.get('menuContentLayoutAreaBookmarkJustifyLabel'), groupName: 'layout-area-bookmark-justify', @@ -249,15 +266,15 @@ layoutSetting.area = (parent) => { action: () => { applyCSSClass('layout.area.bookmark.justify'); data.save(); - } + }, }), justifyHelper1: new Control_helperText({ - text: [message.get('menuContentLayoutAreaBookmarkJustifyHelper1Para1')] + text: [message.get('menuContentLayoutAreaBookmarkJustifyHelper1Para1')], }), justifyHelper2: new Control_helperText({ complexText: true, - text: [message.get('menuContentLayoutAreaBookmarkJustifyHelper2Para1')] - }) + text: [message.get('menuContentLayoutAreaBookmarkJustifyHelper2Para1')], + }), }; parent.appendChild( @@ -276,19 +293,20 @@ layoutSetting.area = (parent) => { layoutSetting.control.area.bookmark.width.wrap(), layoutSetting.control.area.bookmark.justify.wrap(), layoutSetting.control.area.bookmark.justifyHelper1.wrap(), - layoutSetting.control.area.bookmark.justifyHelper2.wrap() - ] - }) - ] - }) + layoutSetting.control.area.bookmark.justifyHelper2.wrap(), + ], + }), + ], + }), ]) ); - }; layoutSetting.padding = (parent) => { - - layoutSetting.edge.padding = new Edge({ primary: layout.element.layout, secondary: [header.element.header, bookmark.element.group] }); + layoutSetting.edge.padding = new Edge({ + primary: layout.element.layout, + secondary: [header.element.header, bookmark.element.group], + }); layoutSetting.control.padding = new Control_slider({ object: state.get.current(), @@ -309,20 +327,17 @@ layoutSetting.padding = (parent) => { }, mouseUpAction: () => { layoutSetting.edge.padding.hide(); - } + }, }); - parent.appendChild( - node('div', [ - layoutSetting.control.padding.wrap() - ]) - ); - + parent.appendChild(node('div', [layoutSetting.control.padding.wrap()])); }; layoutSetting.gutter = (parent) => { - - layoutSetting.edge.gutter = new Edge({ primary: layout.element.layout, secondary: [header.element.header, bookmark.element.group] }); + layoutSetting.edge.gutter = new Edge({ + primary: layout.element.layout, + secondary: [header.element.header, bookmark.element.group], + }); layoutSetting.control.gutter = new Control_slider({ object: state.get.current(), @@ -343,31 +358,70 @@ layoutSetting.gutter = (parent) => { }, mouseUpAction: () => { layoutSetting.edge.gutter.hide(); - } + }, }); - parent.appendChild( - node('div', [ - layoutSetting.control.gutter.wrap() - ]) - ); - + parent.appendChild(node('div', [layoutSetting.control.gutter.wrap()])); }; layoutSetting.alignment = (parent) => { - layoutSetting.control.alignment.alignment = new Control_radioGrid({ object: state.get.current(), radioGroup: [ - { id: 'layout-alignment-top-left', labelText: message.get('menuContentLayoutAlignmentTopLeft'), value: 'top-left', position: 1 }, - { id: 'layout-alignment-top-center', labelText: message.get('menuContentLayoutAlignmentTopCenter'), value: 'top-center', position: 2 }, - { id: 'layout-alignment-top-right', labelText: message.get('menuContentLayoutAlignmentTopRight'), value: 'top-right', position: 3 }, - { id: 'layout-alignment-center-left', labelText: message.get('menuContentLayoutAlignmentCenterLeft'), value: 'center-left', position: 4 }, - { id: 'layout-alignment-center-center', labelText: message.get('menuContentLayoutAlignmentCenterCenter'), value: 'center-center', position: 5 }, - { id: 'layout-alignment-center-right', labelText: message.get('menuContentLayoutAlignmentCenterRight'), value: 'center-right', position: 6 }, - { id: 'layout-alignment-bottom-left', labelText: message.get('menuContentLayoutAlignmentBottomLeft'), value: 'bottom-left', position: 7 }, - { id: 'layout-alignment-bottom-center', labelText: message.get('menuContentLayoutAlignmentBottomCenter'), value: 'bottom-center', position: 8 }, - { id: 'layout-alignment-bottom-right', labelText: message.get('menuContentLayoutAlignmentBottomRight'), value: 'bottom-right', position: 9 } + { + id: 'layout-alignment-top-left', + labelText: message.get('menuContentLayoutAlignmentTopLeft'), + value: 'top-left', + position: 1, + }, + { + id: 'layout-alignment-top-center', + labelText: message.get('menuContentLayoutAlignmentTopCenter'), + value: 'top-center', + position: 2, + }, + { + id: 'layout-alignment-top-right', + labelText: message.get('menuContentLayoutAlignmentTopRight'), + value: 'top-right', + position: 3, + }, + { + id: 'layout-alignment-center-left', + labelText: message.get('menuContentLayoutAlignmentCenterLeft'), + value: 'center-left', + position: 4, + }, + { + id: 'layout-alignment-center-center', + labelText: message.get('menuContentLayoutAlignmentCenterCenter'), + value: 'center-center', + position: 5, + }, + { + id: 'layout-alignment-center-right', + labelText: message.get('menuContentLayoutAlignmentCenterRight'), + value: 'center-right', + position: 6, + }, + { + id: 'layout-alignment-bottom-left', + labelText: message.get('menuContentLayoutAlignmentBottomLeft'), + value: 'bottom-left', + position: 7, + }, + { + id: 'layout-alignment-bottom-center', + labelText: message.get('menuContentLayoutAlignmentBottomCenter'), + value: 'bottom-center', + position: 8, + }, + { + id: 'layout-alignment-bottom-right', + labelText: message.get('menuContentLayoutAlignmentBottomRight'), + value: 'bottom-right', + position: 9, + }, ], label: message.get('menuContentLayoutAlignmentLabel'), groupName: 'layout-alignment', @@ -376,14 +430,28 @@ layoutSetting.alignment = (parent) => { action: () => { applyCSSClass('layout.alignment'); data.save(); - } + }, }); layoutSetting.control.alignment.direction = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'layout-direction-horizontal', labelText: message.get('menuContentLayoutDirectionHorizontalLabel'), description: message.get('menuContentLayoutDirectionHorizontalDescription'), value: 'horizontal' }, - { id: 'layout-direction-vertical', labelText: message.get('menuContentLayoutDirectionVerticalLabel'), description: message.get('menuContentLayoutDirectionVerticalDescription'), value: 'vertical' } + { + id: 'layout-direction-horizontal', + labelText: message.get('menuContentLayoutDirectionHorizontalLabel'), + description: message.get( + 'menuContentLayoutDirectionHorizontalDescription' + ), + value: 'horizontal', + }, + { + id: 'layout-direction-vertical', + labelText: message.get('menuContentLayoutDirectionVerticalLabel'), + description: message.get( + 'menuContentLayoutDirectionVerticalDescription' + ), + value: 'vertical', + }, ], groupName: 'layout-direction', path: 'layout.direction', @@ -391,14 +459,28 @@ layoutSetting.alignment = (parent) => { applyCSSClass('layout.direction'); layoutSetting.disable(); data.save(); - } + }, }); layoutSetting.control.alignment.order = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'layout-order-header-bookmark', labelText: message.get('menuContentLayoutOrderHeaderBookmarkLabel'), description: message.get('menuContentLayoutOrderHeaderBookmarkDescription'), value: 'header-bookmark' }, - { id: 'layout-order-bookmark-header', labelText: message.get('menuContentLayoutOrderBookmarkHeaderLabel'), description: message.get('menuContentLayoutOrderBookmarkHeaderDescription'), value: 'bookmark-header' } + { + id: 'layout-order-header-bookmark', + labelText: message.get('menuContentLayoutOrderHeaderBookmarkLabel'), + description: message.get( + 'menuContentLayoutOrderHeaderBookmarkDescription' + ), + value: 'header-bookmark', + }, + { + id: 'layout-order-bookmark-header', + labelText: message.get('menuContentLayoutOrderBookmarkHeaderLabel'), + description: message.get( + 'menuContentLayoutOrderBookmarkHeaderDescription' + ), + value: 'bookmark-header', + }, ], groupName: 'layout-order', path: 'layout.order', @@ -406,7 +488,7 @@ layoutSetting.alignment = (parent) => { layout.area.assemble(); applyCSSClass('layout.order'); data.save(); - } + }, }); parent.appendChild( @@ -415,14 +497,12 @@ layoutSetting.alignment = (parent) => { node('hr'), layoutSetting.control.alignment.direction.wrap(), node('hr'), - layoutSetting.control.alignment.order.wrap() + layoutSetting.control.alignment.order.wrap(), ]) ); - }; layoutSetting.page = (parent) => { - layoutSetting.control.page.title = new Control_textReset({ object: state.get.current(), path: 'layout.title', @@ -434,7 +514,7 @@ layoutSetting.page = (parent) => { action: () => { layout.title.render(); data.save(); - } + }, }); layoutSetting.control.page.favicon = new Control_textReset({ @@ -448,31 +528,43 @@ layoutSetting.page = (parent) => { action: () => { layout.favicon.render(); data.save(); - } + }, }); layoutSetting.control.page.faviconHelper = new Control_helperText({ - text: [message.get('menuContentLayoutPageFaviconHelperPara1')] + text: [message.get('menuContentLayoutPageFaviconHelperPara1')], }); layoutSetting.control.page.scrollbar = new Control_radio({ object: state.get.current(), label: message.get('menuContentLayoutPageScrollbarLabel'), radioGroup: [ - { id: 'layout-scrollbar-auto', labelText: message.get('menuContentLayoutPageScrollbarAuto'), value: 'auto' }, - { id: 'layout-scrollbar-thin', labelText: message.get('menuContentLayoutPageScrollbarThin'), value: 'thin' }, - { id: 'layout-scrollbar-none', labelText: message.get('menuContentLayoutPageScrollbarNone'), value: 'none' } + { + id: 'layout-scrollbar-auto', + labelText: message.get('menuContentLayoutPageScrollbarAuto'), + value: 'auto', + }, + { + id: 'layout-scrollbar-thin', + labelText: message.get('menuContentLayoutPageScrollbarThin'), + value: 'thin', + }, + { + id: 'layout-scrollbar-none', + labelText: message.get('menuContentLayoutPageScrollbarNone'), + value: 'none', + }, ], groupName: 'layout-scrollbar', path: 'layout.scrollbar', action: () => { applyCSSClass('layout.scrollbar'); data.save(); - } + }, }); layoutSetting.control.page.scrollbarHelper = new Control_helperText({ - text: [message.get('menuContentLayoutPageScrollbarHelperPara1')] + text: [message.get('menuContentLayoutPageScrollbarHelperPara1')], }); layoutSetting.control.page.overscroll = { @@ -485,7 +577,7 @@ layoutSetting.page = (parent) => { applyCSSState('layout.overscroll.active'); layoutSetting.disable(); data.save(); - } + }, }), unblur: new Control_checkbox({ object: state.get.current(), @@ -494,7 +586,7 @@ layoutSetting.page = (parent) => { labelText: message.get('menuContentLayoutPageOverscrollUnblurLabel'), description: [ message.get('menuContentLayoutPageOverscrollUnblurDescriptionPara1'), - message.get('menuContentLayoutPageOverscrollUnblurDescriptionPara2') + message.get('menuContentLayoutPageOverscrollUnblurDescriptionPara2'), ], action: () => { theme.background.image.render(); @@ -502,8 +594,8 @@ layoutSetting.page = (parent) => { theme.background.video.render(); layout.overscroll.bind(); data.save(); - } - }) + }, + }), }; parent.appendChild( @@ -519,15 +611,12 @@ layoutSetting.page = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - layoutSetting.control.page.overscroll.unblur.wrap() - ] - }) - ] - }) + children: [layoutSetting.control.page.overscroll.unblur.wrap()], + }), + ], + }), ]) ); - }; export { layoutSetting }; diff --git a/src/component/menuContent/supportSetting/index.js b/src/component/menuContent/supportSetting/index.js index 303c0c78..f41b894b 100644 --- a/src/component/menuContent/supportSetting/index.js +++ b/src/component/menuContent/supportSetting/index.js @@ -12,7 +12,6 @@ const supportSetting = {}; supportSetting.supportPage = { get: () => { - const supportLink = {}; supportLink.baseUrl = 'https://github.com/zombieFox/' + APP_NAME + '/wiki/'; @@ -20,59 +19,56 @@ supportSetting.supportPage = { supportLink.page = { applyToAll: { label: message.get('menuContentSupportPageApplyToAll'), - url: 'Applying-bookmark-settings-to-all' + url: 'Applying-bookmark-settings-to-all', }, browser: { label: message.get('menuContentSupportPageBrowser'), - url: 'Browser-support' + url: 'Browser-support', }, cookies: { label: message.get('menuContentSupportPageCookies'), - url: 'Cookies-and-cache' + url: 'Cookies-and-cache', }, data: { label: message.get('menuContentSupportPageData'), - url: 'Data-backup-and-restore' + url: 'Data-backup-and-restore', }, localBackgroundImage: { label: message.get('menuContentSupportPageLocalBackgroundImage'), - url: 'Local-background-image' + url: 'Local-background-image', }, protectedUrl: { label: message.get('menuContentSupportPageProtectedUrl'), - url: 'Protected-URLs' + url: 'Protected-URLs', }, recovering: { label: message.get('menuContentSupportPageRecovering'), - url: 'Recovering-settings-and-bookmarks' + url: 'Recovering-settings-and-bookmarks', }, resetting: { label: message.get('menuContentSupportPageResetting'), - url: 'Resetting-when-opening-the-browser' + url: 'Resetting-when-opening-the-browser', }, privacy: { label: message.get('menuContentSupportPagePrivacy'), - url: 'Respecting-your-privacy' + url: 'Respecting-your-privacy', }, backgroundImageVideo: { label: message.get('menuContentSupportPageBackgroundImageVideo'), - url: 'Setting-a-background-video-or-image' + url: 'Setting-a-background-video-or-image', }, firefox: { label: message.get('menuContentSupportPageFirefox'), - url: 'Setting-' + APP_NAME + '-as-your-Firefox-homepage' + url: 'Setting-' + APP_NAME + '-as-your-Firefox-homepage', }, }; return supportLink; - - } + }, }; supportSetting.support = (parent) => { - const makeLinks = () => { - const wrap = form.wrap(); const list = node('ul|class:list-feature'); @@ -80,21 +76,18 @@ supportSetting.support = (parent) => { const supportLink = supportSetting.supportPage.get(); for (var key in supportLink.page) { - const linkItem = new Link({ text: supportLink.page[key].label, href: supportLink.baseUrl + supportLink.page[key].url, - openNew: true + openNew: true, }); list.appendChild(node('li', [linkItem.link()])); - } wrap.appendChild(list); return wrap; - }; supportSetting.support.para = node('p'); @@ -104,13 +97,13 @@ supportSetting.support = (parent) => { supportSetting.support.linkIssue = new Link({ text: message.get('menuContentSupportLink1'), href: `https://github.com/zombieFox/${APP_NAME}/issues`, - openNew: true + openNew: true, }); supportSetting.support.linkWiki = new Link({ text: message.get('menuContentSupportLink2'), href: `https://github.com/zombieFox/${APP_NAME}/wiki`, - openNew: true + openNew: true, }); parent.appendChild( @@ -121,12 +114,11 @@ supportSetting.support = (parent) => { form.indent({ children: [ node('p', supportSetting.support.linkIssue.link()), - node('p', supportSetting.support.linkWiki.link()) - ] - }) + node('p', supportSetting.support.linkWiki.link()), + ], + }), ]) ); - }; export { supportSetting }; diff --git a/src/component/menuContent/themeSetting/index.js b/src/component/menuContent/themeSetting/index.js index e974f999..61c0d811 100644 --- a/src/component/menuContent/themeSetting/index.js +++ b/src/component/menuContent/themeSetting/index.js @@ -57,11 +57,10 @@ themeSetting.control = { layout: {}, header: {}, bookmark: {}, - background: {} + background: {}, }; themeSetting.disable = () => { - if (state.get.current().theme.accent.random.active) { themeSetting.control.accent.random.style.enable(); themeSetting.control.accent.randomiseNow.enable(); @@ -81,7 +80,6 @@ themeSetting.disable = () => { } switch (state.get.current().theme.header.by) { - case 'theme': themeSetting.control.header.color.color.disable(); themeSetting.control.header.color.opacity.disable(); @@ -91,11 +89,9 @@ themeSetting.disable = () => { themeSetting.control.header.color.color.enable(); themeSetting.control.header.color.opacity.enable(); break; - } switch (state.get.current().theme.background.type) { - case 'theme': case 'accent': themeSetting.control.background.color.disable(); @@ -221,11 +217,9 @@ themeSetting.disable = () => { themeSetting.control.background.video.vignette.opacity.enable(); themeSetting.control.background.video.vignette.range.enable(); break; - } switch (state.get.current().theme.layout.color.by) { - case 'theme': themeSetting.control.layout.color.color.disable(); themeSetting.control.layout.color.opacity.disable(); @@ -239,11 +233,9 @@ themeSetting.disable = () => { themeSetting.control.layout.color.blur.enable(); themeSetting.control.layout.color.blurHelper.enable(); break; - } switch (state.get.current().theme.header.color.by) { - case 'theme': themeSetting.control.header.color.color.disable(); themeSetting.control.header.color.opacity.disable(); @@ -253,11 +245,9 @@ themeSetting.disable = () => { themeSetting.control.header.color.color.enable(); themeSetting.control.header.color.opacity.enable(); break; - } switch (state.get.current().theme.bookmark.color.by) { - case 'theme': themeSetting.control.bookmark.color.color.disable(); themeSetting.control.bookmark.color.opacity.disable(); @@ -267,52 +257,40 @@ themeSetting.disable = () => { themeSetting.control.bookmark.color.color.enable(); themeSetting.control.bookmark.color.opacity.enable(); break; - } - }; themeSetting.preset = (parent) => { - themeSetting.control.preset.presetHelper = new Control_helperText({ - text: [message.get('menuContentThemePresetHelperPara1')] + text: [message.get('menuContentThemePresetHelperPara1')], }); const preset = () => { - const themePresetElement = node('div|class:theme-preset'); themePreset.get().forEach((item) => { - const presetTheme = new PresetThemeTile({ - presetThemeData: item + presetThemeData: item, }); themePresetElement.appendChild(presetTheme.tile()); - }); return themePresetElement; - }; parent.appendChild( - node('div', [ - preset(), - themeSetting.control.preset.presetHelper.wrap() - ]) + node('div', [preset(), themeSetting.control.preset.presetHelper.wrap()]) ); - }; themeSetting.saved = (parent) => { - customTheme.edit.close(); themeSetting.control.saved = { savedElement: node('div|class:theme-custom'), customHelper: new Control_helperText({ - text: [message.get('menuContentThemeSavedHelperPara1')] + text: [message.get('menuContentThemeSavedHelperPara1')], }), saveButton: new Button({ text: message.get('menuContentThemeSavedSave'), @@ -320,7 +298,7 @@ themeSetting.saved = (parent) => { func: () => { menu.close(); customTheme.add.render(); - } + }, }), edit: new Button({ text: message.get('menuContentThemeSavedEdit'), @@ -330,12 +308,11 @@ themeSetting.saved = (parent) => { func: () => { customTheme.edit.toggle(); data.save(); - } - }) + }, + }), }; if (state.get.current().theme.custom.all.length > 0) { - parent.appendChild( node('div', [ customTheme.item.render(themeSetting.control.saved.savedElement), @@ -348,17 +325,15 @@ themeSetting.saved = (parent) => { equalGap: true, children: [ themeSetting.control.saved.saveButton.wrap(), - themeSetting.control.saved.edit.wrap() - ] - }) - ] + themeSetting.control.saved.edit.wrap(), + ], + }), + ], }), - themeSetting.control.saved.customHelper.wrap() + themeSetting.control.saved.customHelper.wrap(), ]) ); - } else { - parent.appendChild( node('div', [ form.wrap({ @@ -367,28 +342,38 @@ themeSetting.saved = (parent) => { gap: 'small', wrap: true, equalGap: true, - children: [ - themeSetting.control.saved.saveButton.wrap() - ] - }) - ] + children: [themeSetting.control.saved.saveButton.wrap()], + }), + ], }), - themeSetting.control.saved.customHelper.wrap() + themeSetting.control.saved.customHelper.wrap(), ]) ); - } - }; themeSetting.style = (parent) => { - themeSetting.control.style = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'theme-style-dark', labelText: message.get('menuContentThemeStyleDarkLabel'), description: false, value: 'dark' }, - { id: 'theme-style-light', labelText: message.get('menuContentThemeStyleLightLabel'), description: false, value: 'light' }, - { id: 'theme-style-system', labelText: message.get('menuContentThemeStyleAutomaticLabel'), description: message.get('menuContentThemeStyleAutomaticDescription'), value: 'system' } + { + id: 'theme-style-dark', + labelText: message.get('menuContentThemeStyleDarkLabel'), + description: false, + value: 'dark', + }, + { + id: 'theme-style-light', + labelText: message.get('menuContentThemeStyleLightLabel'), + description: false, + value: 'light', + }, + { + id: 'theme-style-system', + labelText: message.get('menuContentThemeStyleAutomaticLabel'), + description: message.get('menuContentThemeStyleAutomaticDescription'), + value: 'system', + }, ], groupName: 'theme-style', path: 'theme.style', @@ -396,26 +381,19 @@ themeSetting.style = (parent) => { theme.style.initial(); applyCSSClass('theme.style'); data.save(); - } + }, }); - parent.appendChild( - node('div', [ - themeSetting.control.style.wrap() - ]) - ); - + parent.appendChild(node('div', [themeSetting.control.style.wrap()])); }; themeSetting.color = (parent) => { - const shade = () => { - const formSticky = form.sticky(); const formGroup = form.group({ block: true, - border: true + border: true, }); const shadeCount = state.get.current().theme.color.shades; @@ -429,7 +407,7 @@ themeSetting.color = (parent) => { formGroup.appendChild( node('div|class:form-group-text form-group-text-borderless', [ - node('div|class:theme-color-box theme-color-shade-' + count + '') + node('div|class:theme-color-box theme-color-shade-' + count + ''), ]) ); } @@ -455,7 +433,7 @@ themeSetting.color = (parent) => { action: () => { theme.color.render(); data.save(); - } + }, }), s: new Control_slider({ object: state.get.current(), @@ -470,9 +448,9 @@ themeSetting.color = (parent) => { action: () => { theme.color.render(); data.save(); - } - }) - } + }, + }), + }, }, contrast: new Control_sliderDouble({ object: state.get.current(), @@ -489,7 +467,7 @@ themeSetting.color = (parent) => { action: () => { theme.color.render(); data.save(); - } + }, }, right: { path: 'theme.color.contrast.end', @@ -502,24 +480,24 @@ themeSetting.color = (parent) => { action: () => { theme.color.render(); data.save(); - } - } + }, + }, }), contrastHelper: new Control_helperText({ text: [ message.get('menuContentThemeColorContrastHelperPara1'), - message.get('menuContentThemeColorContrastHelperPara2') - ] + message.get('menuContentThemeColorContrastHelperPara2'), + ], }), shade: { helper: new Control_helperText({ text: [ message.get('menuContentThemeColorShadeHelperPara1'), message.get('menuContentThemeColorShadeHelperPara2'), - message.get('menuContentThemeColorShadeHelperPara3') - ] - }) - } + message.get('menuContentThemeColorShadeHelperPara3'), + ], + }), + }, }; parent.appendChild( @@ -530,16 +508,13 @@ themeSetting.color = (parent) => { themeSetting.control.color.range.primary.h.wrap(), themeSetting.control.color.range.primary.s.wrap(), themeSetting.control.color.contrast.wrap(), - themeSetting.control.color.contrastHelper.wrap() + themeSetting.control.color.contrastHelper.wrap(), ]) ); - }; themeSetting.accent = (parent) => { - const preset = () => { - const allPreset = accentPreset.get(); const formWrap = form.wrap(); @@ -547,19 +522,16 @@ themeSetting.accent = (parent) => { const themeAccentPreset = node('div|class:theme-accent-preset'); allPreset.forEach((item) => { - const presetButton = new AccentPresetButton({ - presetData: item + presetData: item, }); themeAccentPreset.appendChild(presetButton.button()); - }); formWrap.appendChild(themeAccentPreset); return formWrap; - }; themeSetting.control.accent.color = new Control_colorMixer({ @@ -577,12 +549,12 @@ themeSetting.accent = (parent) => { 'theme.accent.rgb.b', 'theme.accent.hsl.h', 'theme.accent.hsl.s', - 'theme.accent.hsl.l' + 'theme.accent.hsl.l', ]); toolbar.current.update.style(); toolbar.current.update.accent(); data.save(); - } + }, }); themeSetting.control.accent.random = {}; @@ -596,23 +568,43 @@ themeSetting.accent = (parent) => { themeSetting.disable(); themeSetting.control.accent.random.collapse.update(); data.save(); - } + }, }); themeSetting.control.accent.random.style = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'theme-accent-random-style-any', labelText: message.get('menuContentThemeAccentRandomStyleAny'), value: 'any' }, - { id: 'theme-accent-random-style-light', labelText: message.get('menuContentThemeAccentRandomStyleLight'), value: 'light' }, - { id: 'theme-accent-random-style-dark', labelText: message.get('menuContentThemeAccentRandomStyleDark'), value: 'dark' }, - { id: 'theme-accent-random-style-pastel', labelText: message.get('menuContentThemeAccentRandomStylePastel'), value: 'pastel' }, - { id: 'theme-accent-random-style-saturated', labelText: message.get('menuContentThemeAccentRandomStyleSaturated'), value: 'saturated' }, + { + id: 'theme-accent-random-style-any', + labelText: message.get('menuContentThemeAccentRandomStyleAny'), + value: 'any', + }, + { + id: 'theme-accent-random-style-light', + labelText: message.get('menuContentThemeAccentRandomStyleLight'), + value: 'light', + }, + { + id: 'theme-accent-random-style-dark', + labelText: message.get('menuContentThemeAccentRandomStyleDark'), + value: 'dark', + }, + { + id: 'theme-accent-random-style-pastel', + labelText: message.get('menuContentThemeAccentRandomStylePastel'), + value: 'pastel', + }, + { + id: 'theme-accent-random-style-saturated', + labelText: message.get('menuContentThemeAccentRandomStyleSaturated'), + value: 'saturated', + }, ], groupName: 'theme-accent-random-style', path: 'theme.accent.random.style', action: () => { data.save(); - } + }, }); themeSetting.control.accent.randomiseNow = new Button({ @@ -626,26 +618,28 @@ themeSetting.accent = (parent) => { 'theme.accent.rgb.b', 'theme.accent.hsl.h', 'theme.accent.hsl.s', - 'theme.accent.hsl.l' + 'theme.accent.hsl.l', ]); toolbar.current.update.style(); toolbar.current.update.accent(); themeSetting.control.accent.color.update(); data.save(); - } + }, }); themeSetting.control.accent.random.area = node('div', [ themeSetting.control.accent.random.style.inline(), - themeSetting.control.accent.randomiseNow.wrap() + themeSetting.control.accent.randomiseNow.wrap(), ]); themeSetting.control.accent.random.collapse = new Collapse({ type: 'checkbox', checkbox: themeSetting.control.accent.random.active, - target: [{ - content: themeSetting.control.accent.random.area - }] + target: [ + { + content: themeSetting.control.accent.random.area, + }, + ], }); themeSetting.control.accent.cycle = {}; @@ -653,8 +647,8 @@ themeSetting.accent = (parent) => { themeSetting.control.accent.cycle.alert = new Alert({ iconName: 'info', children: [ - node(`p:${message.get('menuContentThemeAccentCycleAlert')}|class:small`) - ] + node(`p:${message.get('menuContentThemeAccentCycleAlert')}|class:small`), + ], }); themeSetting.control.accent.cycle.active = new Control_checkbox({ @@ -668,7 +662,7 @@ themeSetting.accent = (parent) => { themeSetting.disable(); applyCSSState('theme.accent.cycle.active'); data.save(); - } + }, }); themeSetting.control.accent.cycle.speed = new Control_slider({ @@ -683,7 +677,7 @@ themeSetting.accent = (parent) => { action: () => { theme.accent.cycle.bind(); data.save(); - } + }, }); themeSetting.control.accent.cycle.step = new Control_slider({ @@ -698,26 +692,28 @@ themeSetting.accent = (parent) => { action: () => { theme.accent.cycle.bind(); data.save(); - } + }, }); themeSetting.control.accent.cycle.stepHelper = new Control_helperText({ - text: [message.get('menuContentThemeAccentCycleHelperPara1')] + text: [message.get('menuContentThemeAccentCycleHelperPara1')], }); themeSetting.control.accent.cycle.area = node('div', [ themeSetting.control.accent.cycle.alert.wrap(), themeSetting.control.accent.cycle.speed.wrap(), themeSetting.control.accent.cycle.step.wrap(), - themeSetting.control.accent.cycle.stepHelper.wrap() + themeSetting.control.accent.cycle.stepHelper.wrap(), ]); themeSetting.control.accent.cycle.collapse = new Collapse({ type: 'checkbox', checkbox: themeSetting.control.accent.cycle.active, - target: [{ - content: themeSetting.control.accent.cycle.area - }] + target: [ + { + content: themeSetting.control.accent.cycle.area, + }, + ], }); parent.appendChild( @@ -730,30 +726,24 @@ themeSetting.accent = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - themeSetting.control.accent.random.collapse.collapse() - ] - }) - ] + children: [themeSetting.control.accent.random.collapse.collapse()], + }), + ], }), node('hr'), themeSetting.control.accent.cycle.active.wrap(), form.wrap({ children: [ form.indent({ - children: [ - themeSetting.control.accent.cycle.collapse.collapse() - ] - }) - ] - }) + children: [themeSetting.control.accent.cycle.collapse.collapse()], + }), + ], + }), ]) ); - }; themeSetting.font = (parent) => { - const fontWeight = { light: 300, regular: 400, bold: 700 }; themeSetting.control.font.display = { @@ -768,16 +758,20 @@ themeSetting.font = (parent) => { action: () => { theme.font.display.delay(); data.save(); - } + }, }), nameHelper: new Control_helperText({ complexText: true, text: [ message.get('menuContentThemeFontDisplayNameHelperPara1'), - (new Link({ text: message.get('menuContentThemeFontDisplayNameHelperLink'), href: 'https://fonts.google.com/', openNew: true })).link().outerHTML, + new Link({ + text: message.get('menuContentThemeFontDisplayNameHelperLink'), + href: 'https://fonts.google.com/', + openNew: true, + }).link().outerHTML, message.get('menuContentThemeFontDisplayNameHelperPara2'), - message.get('menuContentThemeFontDisplayNameHelperPara3') - ] + message.get('menuContentThemeFontDisplayNameHelperPara3'), + ], }), weight: new Control_slider({ object: state.get.current(), @@ -792,7 +786,7 @@ themeSetting.font = (parent) => { action: () => { applyCSSVar('theme.font.display.weight'); data.save(); - } + }, }), weightLight: new Button({ text: message.get('menuContentThemeFontDisplayWeightLight'), @@ -802,7 +796,7 @@ themeSetting.font = (parent) => { applyCSSVar('theme.font.display.weight'); themeSetting.control.font.display.weight.update(); data.save(); - } + }, }), weightRegular: new Button({ text: message.get('menuContentThemeFontDisplayWeightRegular'), @@ -812,7 +806,7 @@ themeSetting.font = (parent) => { applyCSSVar('theme.font.display.weight'); themeSetting.control.font.display.weight.update(); data.save(); - } + }, }), weightBold: new Button({ text: message.get('menuContentThemeFontDisplayWeightBold'), @@ -822,16 +816,24 @@ themeSetting.font = (parent) => { applyCSSVar('theme.font.display.weight'); themeSetting.control.font.display.weight.update(); data.save(); - } + }, }), weightHelper: new Control_helperText({ - text: [message.get('menuContentThemeFontDisplayWeightHelperPara1')] + text: [message.get('menuContentThemeFontDisplayWeightHelperPara1')], }), style: new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'theme-font-display-style-normal', labelText: message.get('menuContentThemeFontDisplayStyleNormal'), value: 'normal' }, - { id: 'theme-font-display-style-italic', labelText: message.get('menuContentThemeFontDisplayStyleItalic'), value: 'italic' } + { + id: 'theme-font-display-style-normal', + labelText: message.get('menuContentThemeFontDisplayStyleNormal'), + value: 'normal', + }, + { + id: 'theme-font-display-style-italic', + labelText: message.get('menuContentThemeFontDisplayStyleItalic'), + value: 'italic', + }, ], groupName: 'theme-font-display-style', path: 'theme.font.display.style', @@ -841,8 +843,8 @@ themeSetting.font = (parent) => { action: () => { applyCSSVar('theme.font.display.style'); data.save(); - } - }) + }, + }), }; themeSetting.control.font.ui = { @@ -857,16 +859,20 @@ themeSetting.font = (parent) => { action: () => { theme.font.ui.delay(); data.save(); - } + }, }), nameHelper: new Control_helperText({ complexText: true, text: [ message.get('menuContentThemeFontUiNameHelperPara1'), - (new Link({ text: message.get('menuContentThemeFontUiNameHelperLink'), href: 'https://fonts.google.com/', openNew: true })).link().outerHTML, + new Link({ + text: message.get('menuContentThemeFontUiNameHelperLink'), + href: 'https://fonts.google.com/', + openNew: true, + }).link().outerHTML, message.get('menuContentThemeFontUiNameHelperPara2'), - message.get('menuContentThemeFontUiNameHelperPara3') - ] + message.get('menuContentThemeFontUiNameHelperPara3'), + ], }), weight: new Control_slider({ object: state.get.current(), @@ -881,7 +887,7 @@ themeSetting.font = (parent) => { action: () => { applyCSSVar('theme.font.ui.weight'); data.save(); - } + }, }), weightLight: new Button({ text: message.get('menuContentThemeFontUiWeightLight'), @@ -891,7 +897,7 @@ themeSetting.font = (parent) => { applyCSSVar('theme.font.ui.weight'); themeSetting.control.font.ui.weight.update(); data.save(); - } + }, }), weightRegular: new Button({ text: message.get('menuContentThemeFontUiWeightRegular'), @@ -901,7 +907,7 @@ themeSetting.font = (parent) => { applyCSSVar('theme.font.ui.weight'); themeSetting.control.font.ui.weight.update(); data.save(); - } + }, }), weightBold: new Button({ text: message.get('menuContentThemeFontUiWeightBold'), @@ -911,16 +917,24 @@ themeSetting.font = (parent) => { applyCSSVar('theme.font.ui.weight'); themeSetting.control.font.ui.weight.update(); data.save(); - } + }, }), weightHelper: new Control_helperText({ - text: [message.get('menuContentThemeFontUiWeightHelperPara1')] + text: [message.get('menuContentThemeFontUiWeightHelperPara1')], }), style: new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'theme-font-ui-style-normal', labelText: message.get('menuContentThemeFontUiStyleNormal'), value: 'normal' }, - { id: 'theme-font-ui-style-italic', labelText: message.get('menuContentThemeFontUiStyleItalic'), value: 'italic' } + { + id: 'theme-font-ui-style-normal', + labelText: message.get('menuContentThemeFontUiStyleNormal'), + value: 'normal', + }, + { + id: 'theme-font-ui-style-italic', + labelText: message.get('menuContentThemeFontUiStyleItalic'), + value: 'italic', + }, ], groupName: 'theme-font-ui-style', path: 'theme.font.ui.style', @@ -930,8 +944,8 @@ themeSetting.font = (parent) => { action: () => { applyCSSVar('theme.font.ui.style'); data.save(); - } - }) + }, + }), }; parent.appendChild( @@ -949,16 +963,16 @@ themeSetting.font = (parent) => { children: [ themeSetting.control.font.display.weightLight.button, themeSetting.control.font.display.weightRegular.button, - themeSetting.control.font.display.weightBold.button - ] - }) - ] + themeSetting.control.font.display.weightBold.button, + ], + }), + ], }), themeSetting.control.font.display.style.inputButton(), - themeSetting.control.font.display.weightHelper.wrap() - ] - }) - ] + themeSetting.control.font.display.weightHelper.wrap(), + ], + }), + ], }), node('hr'), themeSetting.control.font.ui.name.wrap(), @@ -974,24 +988,22 @@ themeSetting.font = (parent) => { children: [ themeSetting.control.font.ui.weightLight.button, themeSetting.control.font.ui.weightRegular.button, - themeSetting.control.font.ui.weightBold.button - ] - }) - ] + themeSetting.control.font.ui.weightBold.button, + ], + }), + ], }), themeSetting.control.font.ui.style.inputButton(), - themeSetting.control.font.ui.weightHelper.wrap() - ] - }) - ] - }) + themeSetting.control.font.ui.weightHelper.wrap(), + ], + }), + ], + }), ]) ); - }; themeSetting.radius = (parent) => { - themeSetting.control.radius = new Control_slider({ object: state.get.current(), path: 'theme.radius', @@ -1004,19 +1016,13 @@ themeSetting.radius = (parent) => { action: () => { applyCSSVar('theme.radius'); data.save(); - } + }, }); - parent.appendChild( - node('div', [ - themeSetting.control.radius.wrap() - ]) - ); - + parent.appendChild(node('div', [themeSetting.control.radius.wrap()])); }; themeSetting.shadow = (parent) => { - themeSetting.control.shadow = new Control_slider({ object: state.get.current(), path: 'theme.shadow', @@ -1029,19 +1035,13 @@ themeSetting.shadow = (parent) => { action: () => { applyCSSVar('theme.shadow'); data.save(); - } + }, }); - parent.appendChild( - node('div', [ - themeSetting.control.shadow.wrap() - ]) - ); - + parent.appendChild(node('div', [themeSetting.control.shadow.wrap()])); }; themeSetting.shade = (parent) => { - themeSetting.control.shade = { opacity: new Control_slider({ object: state.get.current(), @@ -1055,7 +1055,7 @@ themeSetting.shade = (parent) => { action: () => { applyCSSVar('theme.shade.opacity'); data.save(); - } + }, }), blur: new Control_slider({ object: state.get.current(), @@ -1069,25 +1069,23 @@ themeSetting.shade = (parent) => { action: () => { applyCSSVar('theme.shade.blur'); data.save(); - } + }, }), blurHelper: new Control_helperText({ - text: [message.get('menuContentThemeShadeBlurHelperPara1')] - }) + text: [message.get('menuContentThemeShadeBlurHelperPara1')], + }), }; parent.appendChild( node('div', [ themeSetting.control.shade.opacity.wrap(), themeSetting.control.shade.blur.wrap(), - themeSetting.control.shade.blurHelper.wrap() + themeSetting.control.shade.blurHelper.wrap(), ]) ); - }; themeSetting.opacity = (parent) => { - themeSetting.control.opacity.general = new Control_slider({ object: state.get.current(), path: 'theme.opacity.general', @@ -1098,14 +1096,17 @@ themeSetting.opacity = (parent) => { min: state.get.minMax().theme.opacity.general.min, max: state.get.minMax().theme.opacity.general.max, action: () => { + state.get.current().theme.bookmark.item.opacity = + state.get.current().theme.opacity.general; - state.get.current().theme.bookmark.item.opacity = state.get.current().theme.opacity.general; + state.get.current().theme.toolbar.opacity = + state.get.current().theme.opacity.general; - state.get.current().theme.toolbar.opacity = state.get.current().theme.opacity.general; + state.get.current().theme.header.search.opacity = + state.get.current().theme.opacity.general; - state.get.current().theme.header.search.opacity = state.get.current().theme.opacity.general; - - state.get.current().theme.group.toolbar.opacity = state.get.current().theme.opacity.general; + state.get.current().theme.group.toolbar.opacity = + state.get.current().theme.opacity.general; themeSetting.control.opacity.toolbar.update(); @@ -1120,10 +1121,13 @@ themeSetting.opacity = (parent) => { 'theme.toolbar.opacity', 'theme.bookmark.item.opacity', 'theme.header.search.opacity', - 'theme.group.toolbar.opacity' + 'theme.group.toolbar.opacity', ]); - bookmark.item.mod.applyVar('color.opacity', state.get.current().theme.bookmark.item.opacity); + bookmark.item.mod.applyVar( + 'color.opacity', + state.get.current().theme.bookmark.item.opacity + ); groupAndBookmark.render(); @@ -1132,15 +1136,14 @@ themeSetting.opacity = (parent) => { header.element.search.update.style(); data.save(); - - } + }, }); themeSetting.control.opacity.generalHelper = new Control_helperText({ text: [ message.get('menuContentThemeOpacityGeneralHelperPara1'), - message.get('menuContentThemeOpacityGeneralHelperPara2') - ] + message.get('menuContentThemeOpacityGeneralHelperPara2'), + ], }); themeSetting.control.opacity.toolbar = new Control_sliderSlim({ @@ -1153,14 +1156,12 @@ themeSetting.opacity = (parent) => { min: state.get.minMax().theme.toolbar.opacity.min, max: state.get.minMax().theme.toolbar.opacity.max, action: () => { - applyCSSVar('theme.toolbar.opacity'); toolbar.current.update.style(); data.save(); - - } + }, }); themeSetting.control.opacity.bookmark = new Control_sliderSlim({ @@ -1173,16 +1174,17 @@ themeSetting.opacity = (parent) => { min: state.get.minMax().theme.bookmark.item.opacity.min, max: state.get.minMax().theme.bookmark.item.opacity.max, action: () => { - applyCSSVar('theme.bookmark.item.opacity'); - bookmark.item.mod.applyVar('color.opacity', state.get.current().theme.bookmark.item.opacity); + bookmark.item.mod.applyVar( + 'color.opacity', + state.get.current().theme.bookmark.item.opacity + ); groupAndBookmark.render(); data.save(); - - } + }, }); themeSetting.control.opacity.search = new Control_sliderSlim({ @@ -1195,14 +1197,12 @@ themeSetting.opacity = (parent) => { min: state.get.minMax().theme.header.search.opacity.min, max: state.get.minMax().theme.header.search.opacity.max, action: () => { - applyCSSVar('theme.header.search.opacity'); header.element.search.update.style(); data.save(); - - } + }, }); themeSetting.control.opacity.group = { @@ -1216,21 +1216,17 @@ themeSetting.opacity = (parent) => { min: state.get.minMax().theme.group.toolbar.opacity.min, max: state.get.minMax().theme.group.toolbar.opacity.max, action: () => { - applyCSSVar('theme.group.toolbar.opacity'); if (group.area.current.length > 0) { - group.area.current.forEach((item) => { item.update.style(); }); - } data.save(); - - } - }) + }, + }), }; parent.appendChild( @@ -1244,22 +1240,19 @@ themeSetting.opacity = (parent) => { themeSetting.control.opacity.toolbar.wrap(), themeSetting.control.opacity.bookmark.wrap(), themeSetting.control.opacity.search.wrap(), - themeSetting.control.opacity.group.toolbar.wrap() - ] - }) - ] - }) + themeSetting.control.opacity.group.toolbar.wrap(), + ], + }), + ], + }), ]) ); - }; themeSetting.background = (parent) => { - const supportLink = supportSetting.supportPage.get(); const updateVideoPlayState = () => { - if (theme.background.element.video) { if (themeSetting.control.background.type.value() === 'video') { theme.background.element.video.play(); @@ -1267,19 +1260,48 @@ themeSetting.background = (parent) => { theme.background.element.video.pause(); } } - }; themeSetting.control.background = { type: new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'theme-background-type-theme', labelText: message.get('menuContentThemeBackgroundTypeThemeLabel'), description: message.get('menuContentThemeBackgroundTypeThemeDescription'), value: 'theme' }, - { id: 'theme-background-type-accent', labelText: message.get('menuContentThemeBackgroundTypeAccentLabel'), description: message.get('menuContentThemeBackgroundTypeAccentDescription'), value: 'accent' }, - { id: 'theme-background-type-color', labelText: message.get('menuContentThemeBackgroundTypeColor'), value: 'color' }, - { id: 'theme-background-type-gradient', labelText: message.get('menuContentThemeBackgroundTypeGradient'), value: 'gradient' }, - { id: 'theme-background-type-image', labelText: message.get('menuContentThemeBackgroundTypeImage'), value: 'image' }, - { id: 'theme-background-type-video', labelText: message.get('menuContentThemeBackgroundTypeVideo'), value: 'video' } + { + id: 'theme-background-type-theme', + labelText: message.get('menuContentThemeBackgroundTypeThemeLabel'), + description: message.get( + 'menuContentThemeBackgroundTypeThemeDescription' + ), + value: 'theme', + }, + { + id: 'theme-background-type-accent', + labelText: message.get('menuContentThemeBackgroundTypeAccentLabel'), + description: message.get( + 'menuContentThemeBackgroundTypeAccentDescription' + ), + value: 'accent', + }, + { + id: 'theme-background-type-color', + labelText: message.get('menuContentThemeBackgroundTypeColor'), + value: 'color', + }, + { + id: 'theme-background-type-gradient', + labelText: message.get('menuContentThemeBackgroundTypeGradient'), + value: 'gradient', + }, + { + id: 'theme-background-type-image', + labelText: message.get('menuContentThemeBackgroundTypeImage'), + value: 'image', + }, + { + id: 'theme-background-type-video', + labelText: message.get('menuContentThemeBackgroundTypeVideo'), + value: 'video', + }, ], groupName: 'theme-background-type', path: 'theme.background.type', @@ -1290,7 +1312,7 @@ themeSetting.background = (parent) => { themeSetting.disable(); updateVideoPlayState(); data.save(); - } + }, }), color: new Control_colorMixer({ object: state.get.current(), @@ -1307,11 +1329,11 @@ themeSetting.background = (parent) => { 'theme.background.color.rgb.b', 'theme.background.color.hsl.h', 'theme.background.color.hsl.s', - 'theme.background.color.hsl.l' + 'theme.background.color.hsl.l', ]); toolbar.current.update.style(); data.save(); - } + }, }), gradient: { angle: new Control_slider({ @@ -1327,7 +1349,7 @@ themeSetting.background = (parent) => { applyCSSVar('theme.background.gradient.angle'); toolbar.current.update.style(); data.save(); - } + }, }), start: new Control_colorMixer({ object: state.get.current(), @@ -1344,11 +1366,11 @@ themeSetting.background = (parent) => { 'theme.background.gradient.start.rgb.b', 'theme.background.gradient.start.hsl.h', 'theme.background.gradient.start.hsl.s', - 'theme.background.gradient.start.hsl.l' + 'theme.background.gradient.start.hsl.l', ]); toolbar.current.update.style(); data.save(); - } + }, }), end: new Control_colorMixer({ object: state.get.current(), @@ -1365,40 +1387,58 @@ themeSetting.background = (parent) => { 'theme.background.gradient.end.rgb.b', 'theme.background.gradient.end.hsl.h', 'theme.background.gradient.end.hsl.s', - 'theme.background.gradient.end.hsl.l' + 'theme.background.gradient.end.hsl.l', ]); toolbar.current.update.style(); data.save(); - } - }) + }, + }), }, image: { alert: new Alert({ iconName: 'info', children: [ - node(`p:${message.get('menuContentThemeBackgroundImageAlertPara1')}|class:small`), - complexNode({ tag: 'p', attr: [{ key: 'class', value: 'small' }], node: [(new Link({ text: message.get('menuContentThemeBackgroundImageAlertPara2'), href: supportLink.baseUrl + supportLink.page.localBackgroundImage.url, openNew: true })).link()] }) - ] + node( + `p:${message.get( + 'menuContentThemeBackgroundImageAlertPara1' + )}|class:small` + ), + complexNode({ + tag: 'p', + attr: [{ key: 'class', value: 'small' }], + node: [ + new Link({ + text: message.get('menuContentThemeBackgroundImageAlertPara2'), + href: + supportLink.baseUrl + + supportLink.page.localBackgroundImage.url, + openNew: true, + }).link(), + ], + }), + ], }), url: new Control_textarea({ object: state.get.current(), path: 'theme.background.image.url', id: 'theme-background-image-url', value: state.get.current().theme.background.image.url, - placeholder: message.get('menuContentThemeBackgroundImageUrlPlaceholder'), + placeholder: message.get( + 'menuContentThemeBackgroundImageUrlPlaceholder' + ), labelText: message.get('menuContentThemeBackgroundImageUrlLabel'), action: () => { theme.background.image.render(); data.save(); - } + }, }), urlHelper: new Control_helperText({ text: [ message.get('menuContentThemeBackgroundImageUrlHelperPara1'), message.get('menuContentThemeBackgroundImageUrlHelperPara2'), message.get('menuContentThemeBackgroundImageUrlHelperPara3'), - message.get('menuContentThemeBackgroundImageUrlHelperPara4') - ] + message.get('menuContentThemeBackgroundImageUrlHelperPara4'), + ], }), blur: new Control_sliderSlim({ object: state.get.current(), @@ -1412,7 +1452,7 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.image.blur'); data.save(); - } + }, }), grayscale: new Control_sliderSlim({ object: state.get.current(), @@ -1426,7 +1466,7 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.image.grayscale'); data.save(); - } + }, }), scale: new Control_sliderSlim({ object: state.get.current(), @@ -1440,7 +1480,7 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.image.scale'); data.save(); - } + }, }), accent: new Control_sliderSlim({ object: state.get.current(), @@ -1454,7 +1494,7 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.image.accent'); data.save(); - } + }, }), opacity: new Control_sliderSlim({ object: state.get.current(), @@ -1468,83 +1508,112 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.image.opacity'); data.save(); - } + }, }), vignette: { opacity: new Control_sliderSlim({ object: state.get.current(), path: 'theme.background.image.vignette.opacity', id: 'theme-background-image-vignette-opacity', - labelText: message.get('menuContentThemeBackgroundImageVignetteOpacity'), + labelText: message.get( + 'menuContentThemeBackgroundImageVignetteOpacity' + ), value: state.get.current().theme.background.image.vignette.opacity, - defaultValue: state.get.default().theme.background.image.vignette.opacity, + defaultValue: + state.get.default().theme.background.image.vignette.opacity, min: state.get.minMax().theme.background.image.vignette.opacity.min, max: state.get.minMax().theme.background.image.vignette.opacity.max, action: () => { applyCSSVar('theme.background.image.vignette.opacity'); data.save(); - } + }, }), range: new Control_sliderDouble({ object: state.get.current(), - labelText: message.get('menuContentThemeBackgroundImageVignetteRangeLabel'), + labelText: message.get( + 'menuContentThemeBackgroundImageVignetteRangeLabel' + ), left: { path: 'theme.background.image.vignette.end', id: 'theme-background-image-vignette-end', - labelText: message.get('menuContentThemeBackgroundImageVignetteRangeLeft'), + labelText: message.get( + 'menuContentThemeBackgroundImageVignetteRangeLeft' + ), value: state.get.current().theme.background.image.vignette.end, - defaultValue: state.get.default().theme.background.image.vignette.end, + defaultValue: + state.get.default().theme.background.image.vignette.end, min: state.get.minMax().theme.background.image.vignette.end.min, max: state.get.minMax().theme.background.image.vignette.end.max, action: () => { applyCSSVar('theme.background.image.vignette.start'); applyCSSVar('theme.background.image.vignette.end'); data.save(); - } + }, }, right: { path: 'theme.background.image.vignette.start', id: 'theme-background-image-vignette-start', - labelText: message.get('menuContentThemeBackgroundImageVignetteRangeRight'), + labelText: message.get( + 'menuContentThemeBackgroundImageVignetteRangeRight' + ), value: state.get.current().theme.background.image.vignette.start, - defaultValue: state.get.default().theme.background.image.vignette.start, + defaultValue: + state.get.default().theme.background.image.vignette.start, min: state.get.minMax().theme.background.image.vignette.start.min, max: state.get.minMax().theme.background.image.vignette.start.max, action: () => { applyCSSVar('theme.background.image.vignette.start'); applyCSSVar('theme.background.image.vignette.end'); data.save(); - } - } - }) - } + }, + }, + }), + }, }, video: { alert: new Alert({ iconName: 'info', children: [ - node(`p:${message.get('menuContentThemeBackgroundVideoAlertPara1')}.|class:small`), - complexNode({ tag: 'p', attr: [{ key: 'class', value: 'small' }], node: [(new Link({ text: message.get('menuContentThemeBackgroundVideoAlertPara2'), href: supportLink.baseUrl + supportLink.page.backgroundImageVideo.url, openNew: true })).link()] }) - ] + node( + `p:${message.get( + 'menuContentThemeBackgroundVideoAlertPara1' + )}.|class:small` + ), + complexNode({ + tag: 'p', + attr: [{ key: 'class', value: 'small' }], + node: [ + new Link({ + text: message.get('menuContentThemeBackgroundVideoAlertPara2'), + href: + supportLink.baseUrl + + supportLink.page.backgroundImageVideo.url, + openNew: true, + }).link(), + ], + }), + ], }), url: new Control_textarea({ object: state.get.current(), path: 'theme.background.video.url', id: 'theme-background-video-url', value: state.get.current().theme.background.video.url, - placeholder: message.get('menuContentThemeBackgroundVideoUrlPlaceholder'), + placeholder: message.get( + 'menuContentThemeBackgroundVideoUrlPlaceholder' + ), labelText: message.get('menuContentThemeBackgroundVideoUrlLabel'), action: () => { theme.background.video.clear(); theme.background.video.render(); data.save(); - } + }, }), urlHelper: new Control_helperText({ text: [ message.get('menuContentThemeBackgroundVideoUrlHelperPara1'), - message.get('menuContentThemeBackgroundVideoUrlHelperPara2') - ] + message.get('menuContentThemeBackgroundVideoUrlHelperPara2'), + ], }), blur: new Control_sliderSlim({ object: state.get.current(), @@ -1558,7 +1627,7 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.video.blur'); data.save(); - } + }, }), grayscale: new Control_sliderSlim({ object: state.get.current(), @@ -1572,7 +1641,7 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.video.grayscale'); data.save(); - } + }, }), scale: new Control_sliderSlim({ object: state.get.current(), @@ -1586,7 +1655,7 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.video.scale'); data.save(); - } + }, }), accent: new Control_sliderSlim({ object: state.get.current(), @@ -1600,7 +1669,7 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.video.accent'); data.save(); - } + }, }), opacity: new Control_sliderSlim({ object: state.get.current(), @@ -1614,67 +1683,78 @@ themeSetting.background = (parent) => { action: () => { applyCSSVar('theme.background.video.opacity'); data.save(); - } + }, }), vignette: { opacity: new Control_sliderSlim({ object: state.get.current(), path: 'theme.background.video.vignette.opacity', id: 'theme-background-video-vignette-opacity', - labelText: message.get('menuContentThemeBackgroundVideoVignetteOpacity'), + labelText: message.get( + 'menuContentThemeBackgroundVideoVignetteOpacity' + ), value: state.get.current().theme.background.video.vignette.opacity, - defaultValue: state.get.default().theme.background.video.vignette.opacity, + defaultValue: + state.get.default().theme.background.video.vignette.opacity, min: state.get.minMax().theme.background.video.vignette.opacity.min, max: state.get.minMax().theme.background.video.vignette.opacity.max, action: () => { applyCSSVar('theme.background.video.vignette.opacity'); data.save(); - } + }, }), range: new Control_sliderDouble({ object: state.get.current(), - labelText: message.get('menuContentThemeBackgroundVideoVignetteRangeLabel'), + labelText: message.get( + 'menuContentThemeBackgroundVideoVignetteRangeLabel' + ), left: { path: 'theme.background.video.vignette.end', id: 'theme-background-video-vignette-end', - labelText: message.get('menuContentThemeBackgroundVideoVignetteRangeLeft'), + labelText: message.get( + 'menuContentThemeBackgroundVideoVignetteRangeLeft' + ), value: state.get.current().theme.background.video.vignette.end, - defaultValue: state.get.default().theme.background.video.vignette.end, + defaultValue: + state.get.default().theme.background.video.vignette.end, min: state.get.minMax().theme.background.video.vignette.end.min, max: state.get.minMax().theme.background.video.vignette.end.max, action: () => { applyCSSVar('theme.background.video.vignette.start'); applyCSSVar('theme.background.video.vignette.end'); data.save(); - } + }, }, right: { path: 'theme.background.video.vignette.start', id: 'theme-background-video-vignette-start', - labelText: message.get('menuContentThemeBackgroundVideoVignetteRangeRight'), + labelText: message.get( + 'menuContentThemeBackgroundVideoVignetteRangeRight' + ), value: state.get.current().theme.background.video.vignette.start, - defaultValue: state.get.default().theme.background.video.vignette.start, + defaultValue: + state.get.default().theme.background.video.vignette.start, min: state.get.minMax().theme.background.video.vignette.start.min, max: state.get.minMax().theme.background.video.vignette.start.max, action: () => { applyCSSVar('theme.background.video.vignette.start'); applyCSSVar('theme.background.video.vignette.end'); data.save(); - } - } - }) - } - } + }, + }, + }), + }, + }, }; const themeBackgroundColorArea = node('div', [ - themeSetting.control.background.color.wrap() + themeSetting.control.background.color.wrap(), ]); const themeBackgroundGradientArea = node('div', [ themeSetting.control.background.gradient.angle.wrap(), themeSetting.control.background.gradient.start.wrap(), - themeSetting.control.background.gradient.end.wrap() + themeSetting.control.background.gradient.end.wrap(), ]); const themeBackgroundImageArea = node('div', [ @@ -1691,11 +1771,11 @@ themeSetting.background = (parent) => { children: [ form.indent({ children: [ - themeSetting.control.background.image.vignette.range.wrap() - ] - }) - ] - }) + themeSetting.control.background.image.vignette.range.wrap(), + ], + }), + ], + }), ]); const themeBackgroundVideoArea = node('div', [ @@ -1712,29 +1792,34 @@ themeSetting.background = (parent) => { children: [ form.indent({ children: [ - themeSetting.control.background.video.vignette.range.wrap() - ] - }) - ] - }) + themeSetting.control.background.video.vignette.range.wrap(), + ], + }), + ], + }), ]); themeSetting.control.background.typeCollapse = new Collapse({ type: 'radio', radioGroup: themeSetting.control.background.type, - target: [{ - id: themeSetting.control.background.type.radioSet[2].radio.value, - content: themeBackgroundColorArea - }, { - id: themeSetting.control.background.type.radioSet[3].radio.value, - content: themeBackgroundGradientArea - }, { - id: themeSetting.control.background.type.radioSet[4].radio.value, - content: themeBackgroundImageArea - }, { - id: themeSetting.control.background.type.radioSet[5].radio.value, - content: themeBackgroundVideoArea - }] + target: [ + { + id: themeSetting.control.background.type.radioSet[2].radio.value, + content: themeBackgroundColorArea, + }, + { + id: themeSetting.control.background.type.radioSet[3].radio.value, + content: themeBackgroundGradientArea, + }, + { + id: themeSetting.control.background.type.radioSet[4].radio.value, + content: themeBackgroundImageArea, + }, + { + id: themeSetting.control.background.type.radioSet[5].radio.value, + content: themeBackgroundVideoArea, + }, + ], }); parent.appendChild( @@ -1743,26 +1828,36 @@ themeSetting.background = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - themeSetting.control.background.typeCollapse.collapse() - ] - }) - ] - }) + children: [themeSetting.control.background.typeCollapse.collapse()], + }), + ], + }), ]) ); - }; themeSetting.layout = (parent) => { - themeSetting.control.layout.color = {}; themeSetting.control.layout.color.by = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'theme-layout-by-theme', labelText: message.get('menuContentThemeLayoutColorByTransparentLabel'), description: message.get('menuContentThemeLayoutColorByTransparentDescription'), value: 'theme' }, - { id: 'theme-layout-by-custom', labelText: message.get('menuContentThemeLayoutColorByCustomLabel'), description: message.get('menuContentThemeLayoutColorByCustomDescription'), value: 'custom' } + { + id: 'theme-layout-by-theme', + labelText: message.get('menuContentThemeLayoutColorByTransparentLabel'), + description: message.get( + 'menuContentThemeLayoutColorByTransparentDescription' + ), + value: 'theme', + }, + { + id: 'theme-layout-by-custom', + labelText: message.get('menuContentThemeLayoutColorByCustomLabel'), + description: message.get( + 'menuContentThemeLayoutColorByCustomDescription' + ), + value: 'custom', + }, ], label: message.get('menuContentThemeLayoutColorLabel'), groupName: 'theme-layout-by', @@ -1772,7 +1867,7 @@ themeSetting.layout = (parent) => { themeSetting.disable(); themeSetting.control.layout.color.collapse.update(); data.save(); - } + }, }); themeSetting.control.layout.color.color = new Control_colorMixer({ @@ -1789,10 +1884,10 @@ themeSetting.layout = (parent) => { 'theme.layout.color.rgb.b', 'theme.layout.color.hsl.h', 'theme.layout.color.hsl.s', - 'theme.layout.color.hsl.l' + 'theme.layout.color.hsl.l', ]); data.save(); - } + }, }); themeSetting.control.layout.color.opacity = new Control_slider({ @@ -1805,11 +1900,9 @@ themeSetting.layout = (parent) => { min: state.get.minMax().theme.layout.color.opacity.min, max: state.get.minMax().theme.layout.color.opacity.max, action: () => { - applyCSSVar([ - 'theme.layout.color.opacity' - ]); + applyCSSVar(['theme.layout.color.opacity']); data.save(); - } + }, }); themeSetting.control.layout.color.blur = new Control_slider({ @@ -1822,31 +1915,31 @@ themeSetting.layout = (parent) => { min: state.get.minMax().theme.layout.color.blur.min, max: state.get.minMax().theme.layout.color.blur.max, action: () => { - applyCSSVar([ - 'theme.layout.color.blur' - ]); + applyCSSVar(['theme.layout.color.blur']); data.save(); - } + }, }); themeSetting.control.layout.color.blurHelper = new Control_helperText({ - text: [message.get('menuContentThemeLayoutColorBlurHelperPara1')] + text: [message.get('menuContentThemeLayoutColorBlurHelperPara1')], }); themeSetting.control.layout.color.area = node('div', [ themeSetting.control.layout.color.color.wrap(), themeSetting.control.layout.color.opacity.wrap(), themeSetting.control.layout.color.blur.wrap(), - themeSetting.control.layout.color.blurHelper.wrap() + themeSetting.control.layout.color.blurHelper.wrap(), ]); themeSetting.control.layout.color.collapse = new Collapse({ type: 'radio', radioGroup: themeSetting.control.layout.color.by, - target: [{ - id: themeSetting.control.layout.color.by.radioSet[1].radio.value, - content: themeSetting.control.layout.color.area - }] + target: [ + { + id: themeSetting.control.layout.color.by.radioSet[1].radio.value, + content: themeSetting.control.layout.color.area, + }, + ], }); themeSetting.control.layout.divider = { @@ -1860,16 +1953,12 @@ themeSetting.layout = (parent) => { min: state.get.minMax().theme.layout.divider.size.min, max: state.get.minMax().theme.layout.divider.size.max, action: () => { - applyCSSVar([ - 'theme.layout.divider.size' - ]); - applyCSSState([ - 'theme.layout.divider.size' - ]); + applyCSSVar(['theme.layout.divider.size']); + applyCSSState(['theme.layout.divider.size']); layout.area.render(); data.save(); - } - }) + }, + }), }; parent.appendChild( @@ -1878,28 +1967,38 @@ themeSetting.layout = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - themeSetting.control.layout.color.collapse.collapse() - ] - }) - ] + children: [themeSetting.control.layout.color.collapse.collapse()], + }), + ], }), node('hr'), - themeSetting.control.layout.divider.size.wrap() + themeSetting.control.layout.divider.size.wrap(), ]) ); - }; themeSetting.header = (parent) => { - themeSetting.control.header.color = {}; themeSetting.control.header.color.by = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'theme-header-by-theme', labelText: message.get('menuContentThemeHeaderColorByTransparentLabel'), description: message.get('menuContentThemeHeaderColorByTransparentDescription'), value: 'theme' }, - { id: 'theme-header-by-custom', labelText: message.get('menuContentThemeHeaderColorByCustomLabel'), description: message.get('menuContentThemeHeaderColorByCustomDescription'), value: 'custom' } + { + id: 'theme-header-by-theme', + labelText: message.get('menuContentThemeHeaderColorByTransparentLabel'), + description: message.get( + 'menuContentThemeHeaderColorByTransparentDescription' + ), + value: 'theme', + }, + { + id: 'theme-header-by-custom', + labelText: message.get('menuContentThemeHeaderColorByCustomLabel'), + description: message.get( + 'menuContentThemeHeaderColorByCustomDescription' + ), + value: 'custom', + }, ], label: message.get('menuContentThemeHeaderColorLabel'), groupName: 'theme-header-by', @@ -1909,7 +2008,7 @@ themeSetting.header = (parent) => { themeSetting.disable(); themeSetting.control.header.color.collapse.update(); data.save(); - } + }, }); themeSetting.control.header.color.color = new Control_colorMixer({ @@ -1926,10 +2025,10 @@ themeSetting.header = (parent) => { 'theme.header.color.rgb.b', 'theme.header.color.hsl.h', 'theme.header.color.hsl.s', - 'theme.header.color.hsl.l' + 'theme.header.color.hsl.l', ]); data.save(); - } + }, }); themeSetting.control.header.color.opacity = new Control_slider({ @@ -1942,25 +2041,25 @@ themeSetting.header = (parent) => { min: state.get.minMax().theme.header.color.opacity.min, max: state.get.minMax().theme.header.color.opacity.max, action: () => { - applyCSSVar([ - 'theme.header.color.opacity' - ]); + applyCSSVar(['theme.header.color.opacity']); data.save(); - } + }, }); themeSetting.control.header.color.area = node('div', [ themeSetting.control.header.color.color.wrap(), - themeSetting.control.header.color.opacity.wrap() + themeSetting.control.header.color.opacity.wrap(), ]); themeSetting.control.header.color.collapse = new Collapse({ type: 'radio', radioGroup: themeSetting.control.header.color.by, - target: [{ - id: themeSetting.control.header.color.by.radioSet[1].radio.value, - content: themeSetting.control.header.color.area - }] + target: [ + { + id: themeSetting.control.header.color.by.radioSet[1].radio.value, + content: themeSetting.control.header.color.area, + }, + ], }); parent.appendChild( @@ -1969,26 +2068,38 @@ themeSetting.header = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - themeSetting.control.header.color.collapse.collapse() - ] - }) - ] - }) + children: [themeSetting.control.header.color.collapse.collapse()], + }), + ], + }), ]) ); - }; themeSetting.bookmark = (parent) => { - themeSetting.control.bookmark.color = {}; themeSetting.control.bookmark.color.by = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'theme-bookmark-by-theme', labelText: message.get('menuContentThemeBookmarkColorByTransparentLabel'), description: message.get('menuContentThemeBookmarkColorByTransparentDescription'), value: 'theme' }, - { id: 'theme-bookmark-by-custom', labelText: message.get('menuContentThemeBookmarkColorByCustomLabel'), description: message.get('menuContentThemeBookmarkColorByCustomDescription'), value: 'custom' } + { + id: 'theme-bookmark-by-theme', + labelText: message.get( + 'menuContentThemeBookmarkColorByTransparentLabel' + ), + description: message.get( + 'menuContentThemeBookmarkColorByTransparentDescription' + ), + value: 'theme', + }, + { + id: 'theme-bookmark-by-custom', + labelText: message.get('menuContentThemeBookmarkColorByCustomLabel'), + description: message.get( + 'menuContentThemeBookmarkColorByCustomDescription' + ), + value: 'custom', + }, ], label: message.get('menuContentThemeBookmarkColorLabel'), groupName: 'theme-bookmark-by', @@ -1998,7 +2109,7 @@ themeSetting.bookmark = (parent) => { themeSetting.disable(); themeSetting.control.bookmark.color.collapse.update(); data.save(); - } + }, }); themeSetting.control.bookmark.color.color = new Control_colorMixer({ @@ -2015,10 +2126,10 @@ themeSetting.bookmark = (parent) => { 'theme.bookmark.color.rgb.b', 'theme.bookmark.color.hsl.h', 'theme.bookmark.color.hsl.s', - 'theme.bookmark.color.hsl.l' + 'theme.bookmark.color.hsl.l', ]); data.save(); - } + }, }); themeSetting.control.bookmark.color.opacity = new Control_slider({ @@ -2031,25 +2142,25 @@ themeSetting.bookmark = (parent) => { min: state.get.minMax().theme.bookmark.color.opacity.min, max: state.get.minMax().theme.bookmark.color.opacity.max, action: () => { - applyCSSVar([ - 'theme.bookmark.color.opacity' - ]); + applyCSSVar(['theme.bookmark.color.opacity']); data.save(); - } + }, }); themeSetting.control.bookmark.color.area = node('div', [ themeSetting.control.bookmark.color.color.wrap(), - themeSetting.control.bookmark.color.opacity.wrap() + themeSetting.control.bookmark.color.opacity.wrap(), ]); themeSetting.control.bookmark.color.collapse = new Collapse({ type: 'radio', radioGroup: themeSetting.control.bookmark.color.by, - target: [{ - id: themeSetting.control.bookmark.color.by.radioSet[1].radio.value, - content: themeSetting.control.bookmark.color.area - }] + target: [ + { + id: themeSetting.control.bookmark.color.by.radioSet[1].radio.value, + content: themeSetting.control.bookmark.color.area, + }, + ], }); themeSetting.control.bookmark.item = {}; @@ -2064,17 +2175,20 @@ themeSetting.bookmark = (parent) => { min: state.get.minMax().theme.bookmark.item.border.min, max: state.get.minMax().theme.bookmark.item.border.max, action: () => { - bookmark.item.mod.applyVar('border', state.get.current().theme.bookmark.item.border); + bookmark.item.mod.applyVar( + 'border', + state.get.current().theme.bookmark.item.border + ); groupAndBookmark.render(); data.save(); - } + }, }); themeSetting.control.bookmark.item.borderHelper = new Control_helperText({ text: [ message.get('menuContentThemeBookmarkItemBorderHelperPara1'), - message.get('menuContentThemeBookmarkItemBorderHelperPara2') - ] + message.get('menuContentThemeBookmarkItemBorderHelperPara2'), + ], }); themeSetting.control.bookmark.item.rainbow = { @@ -2084,7 +2198,7 @@ themeSetting.bookmark = (parent) => { func: () => { theme.accent.rainbow.render(); data.save(); - } + }, }), remove: new Button({ text: message.get('menuContentThemeBookmarkItemRainbowRemove'), @@ -2092,11 +2206,11 @@ themeSetting.bookmark = (parent) => { func: () => { theme.accent.rainbow.clear(); data.save(); - } + }, }), helper: new Control_helperText({ - text: [message.get('menuContentThemeBookmarkItemRainbowHelperPara1')] - }) + text: [message.get('menuContentThemeBookmarkItemRainbowHelperPara1')], + }), }; parent.appendChild( @@ -2105,11 +2219,9 @@ themeSetting.bookmark = (parent) => { form.wrap({ children: [ form.indent({ - children: [ - themeSetting.control.bookmark.color.collapse.collapse() - ] - }) - ] + children: [themeSetting.control.bookmark.color.collapse.collapse()], + }), + ], }), node('hr'), themeSetting.control.bookmark.item.border.wrap(), @@ -2124,14 +2236,13 @@ themeSetting.bookmark = (parent) => { children: [ themeSetting.control.bookmark.item.rainbow.add.wrap(), themeSetting.control.bookmark.item.rainbow.remove.wrap(), - ] - }) - ] + ], + }), + ], }), - themeSetting.control.bookmark.item.rainbow.helper.wrap() + themeSetting.control.bookmark.item.rainbow.helper.wrap(), ]) ); - }; export { themeSetting }; diff --git a/src/component/menuContent/toolbarSetting/index.js b/src/component/menuContent/toolbarSetting/index.js index c1ab6f8d..340f3127 100644 --- a/src/component/menuContent/toolbarSetting/index.js +++ b/src/component/menuContent/toolbarSetting/index.js @@ -25,13 +25,11 @@ toolbarSetting.control = { opacity: {}, location: {}, position: {}, - controls: {} + controls: {}, }; toolbarSetting.disable = () => { - switch (state.get.current().toolbar.location) { - case 'corner': toolbarSetting.control.positionElement.enable(); toolbarSetting.control.positionElementHelper1.enable(); @@ -43,27 +41,27 @@ toolbarSetting.disable = () => { toolbarSetting.control.positionElementHelper1.disable(); toolbarSetting.control.location.newLine.enable(); break; - } - }; toolbarSetting.edge = { - size: null + size: null, }; toolbarSetting.size = (parent) => { - switch (state.get.current().toolbar.location) { - case 'header': - toolbarSetting.edge.size = new Edge({ primary: toolbar.current.element.toolbar, secondary: [header.element.area] }); + toolbarSetting.edge.size = new Edge({ + primary: toolbar.current.element.toolbar, + secondary: [header.element.area], + }); break; case 'corner': - toolbarSetting.edge.size = new Edge({ primary: toolbar.current.element.toolbar }); + toolbarSetting.edge.size = new Edge({ + primary: toolbar.current.element.toolbar, + }); break; - } toolbarSetting.control.size = new Control_slider({ @@ -85,23 +83,26 @@ toolbarSetting.size = (parent) => { }, mouseUpAction: () => { toolbarSetting.edge.size.hide(); - } + }, }); - parent.appendChild( - node('div', [ - toolbarSetting.control.size.wrap() - ]) - ); + parent.appendChild(node('div', [toolbarSetting.control.size.wrap()])); }; toolbarSetting.location = (parent) => { - toolbarSetting.control.location.locationElement = new Control_radio({ object: state.get.current(), radioGroup: [ - { id: 'toolbar-location-corner', labelText: message.get('menuContentToolbarLocationCorner'), value: 'corner' }, - { id: 'toolbar-location-header', labelText: message.get('menuContentToolbarLocationHeader'), value: 'header' } + { + id: 'toolbar-location-corner', + labelText: message.get('menuContentToolbarLocationCorner'), + value: 'corner', + }, + { + id: 'toolbar-location-header', + labelText: message.get('menuContentToolbarLocationHeader'), + value: 'header', + }, ], groupName: 'toolbar-location', path: 'toolbar.location', @@ -117,23 +118,26 @@ toolbarSetting.location = (parent) => { toolbarSetting.disable(); switch (state.get.current().toolbar.location) { - case 'header': - toolbarSetting.edge.size = new Edge({ primary: toolbar.current.element.toolbar, secondary: [layout.element.header] }); + toolbarSetting.edge.size = new Edge({ + primary: toolbar.current.element.toolbar, + secondary: [layout.element.header], + }); break; case 'corner': - toolbarSetting.edge.size = new Edge({ primary: toolbar.current.element.toolbar }); + toolbarSetting.edge.size = new Edge({ + primary: toolbar.current.element.toolbar, + }); break; - } data.save(); - } + }, }); toolbarSetting.control.location.locationHelper = new Control_helperText({ - text: [message.get('menuContentToolbarLocationHelperPara1')] + text: [message.get('menuContentToolbarLocationHelperPara1')], }); toolbarSetting.control.location.newLine = new Control_checkbox({ @@ -142,14 +146,14 @@ toolbarSetting.location = (parent) => { id: 'header-newLine', labelText: message.get('menuContentToolbarLocationNewLineLabel'), description: message.get('menuContentToolbarLocationNewLineDescription'), - action: function() { + action: function () { applyCSSState('toolbar.newLine'); data.save(); - } + }, }); toolbarSetting.control.location.newLineHelper = new Control_helperText({ - text: [message.get('menuContentToolbarLocationNewLineHelperPara1')] + text: [message.get('menuContentToolbarLocationNewLineHelperPara1')], }); parent.appendChild( @@ -158,21 +162,39 @@ toolbarSetting.location = (parent) => { toolbarSetting.control.location.locationHelper.wrap(), node('hr'), toolbarSetting.control.location.newLine.wrap(), - toolbarSetting.control.location.newLineHelper.wrap() + toolbarSetting.control.location.newLineHelper.wrap(), ]) ); - }; toolbarSetting.position = (parent) => { - toolbarSetting.control.positionElement = new Control_radioGrid({ object: state.get.current(), radioGroup: [ - { id: 'toolbar-position-top-left', labelText: message.get('menuContentToolbarPositionTopLeft'), value: 'top-left', position: 1 }, - { id: 'toolbar-position-top-right', labelText: message.get('menuContentToolbarPositionTopRight'), value: 'top-right', position: 2 }, - { id: 'toolbar-position-bottom-left', labelText: message.get('menuContentToolbarPositionBottomLeft'), value: 'bottom-left', position: 3 }, - { id: 'toolbar-position-bottom-right', labelText: message.get('menuContentToolbarPositionBottomRight'), value: 'bottom-right', position: 4 } + { + id: 'toolbar-position-top-left', + labelText: message.get('menuContentToolbarPositionTopLeft'), + value: 'top-left', + position: 1, + }, + { + id: 'toolbar-position-top-right', + labelText: message.get('menuContentToolbarPositionTopRight'), + value: 'top-right', + position: 2, + }, + { + id: 'toolbar-position-bottom-left', + labelText: message.get('menuContentToolbarPositionBottomLeft'), + value: 'bottom-left', + position: 3, + }, + { + id: 'toolbar-position-bottom-right', + labelText: message.get('menuContentToolbarPositionBottomRight'), + value: 'bottom-right', + position: 4, + }, ], label: message.get('menuContentToolbarPositionLabel'), groupName: 'toolbar-position', @@ -183,29 +205,27 @@ toolbarSetting.position = (parent) => { toolbar.current.update.position(); toolbar.current.update.style(); data.save(); - } + }, }); toolbarSetting.control.positionElementHelper1 = new Control_helperText({ - text: [message.get('menuContentToolbarPositionHelper1Para1')] + text: [message.get('menuContentToolbarPositionHelper1Para1')], }); toolbarSetting.control.positionElementHelper2 = new Control_helperText({ - text: [message.get('menuContentToolbarPositionHelper2Para1')] + text: [message.get('menuContentToolbarPositionHelper2Para1')], }); parent.appendChild( node('div', [ toolbarSetting.control.positionElement.wrap(), toolbarSetting.control.positionElementHelper1.wrap(), - toolbarSetting.control.positionElementHelper2.wrap() + toolbarSetting.control.positionElementHelper2.wrap(), ]) ); - }; toolbarSetting.controls = (parent) => { - toolbarSetting.control.controls.accent = new Control_checkbox({ object: state.get.current(), id: 'toolbar-accent-show', @@ -214,7 +234,7 @@ toolbarSetting.controls = (parent) => { action: () => { toolbar.current.update.control(); data.save(); - } + }, }); toolbarSetting.control.controls.add = new Control_checkbox({ @@ -225,7 +245,7 @@ toolbarSetting.controls = (parent) => { action: () => { toolbar.current.update.control(); data.save(); - } + }, }); toolbarSetting.control.controls.edit = new Control_checkbox({ @@ -236,17 +256,16 @@ toolbarSetting.controls = (parent) => { action: () => { toolbar.current.update.control(); data.save(); - } + }, }); parent.appendChild( node('div', [ toolbarSetting.control.controls.accent.wrap(), toolbarSetting.control.controls.add.wrap(), - toolbarSetting.control.controls.edit.wrap() + toolbarSetting.control.controls.edit.wrap(), ]) ); - }; export { toolbarSetting }; diff --git a/src/component/menuFrame/index.css b/src/component/menuFrame/index.css index d84a22ed..535e9483 100644 --- a/src/component/menuFrame/index.css +++ b/src/component/menuFrame/index.css @@ -57,11 +57,15 @@ overflow-y: auto; pointer-events: all; box-shadow: var(--theme-shadow-bottom-large); - transition: background-color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); } .is-edge .menu-area { - background-color: hsla(var(--menu-background), calc(var(--menu-edge-opacity) / 100)); + background-color: hsla( + var(--menu-background), + calc(var(--menu-edge-opacity) / 100) + ); /* backdrop-filter: blur(0.5em); */ } diff --git a/src/component/menuFrame/index.js b/src/component/menuFrame/index.js index 96ef5f7d..7819eee7 100644 --- a/src/component/menuFrame/index.js +++ b/src/component/menuFrame/index.js @@ -13,14 +13,11 @@ import { clearChildNode } from '../../utility/clearChildNode'; import './index.css'; -export const MenuFrame = function ({ - navData = [] -} = {}) { - +export const MenuFrame = function ({ navData = [] } = {}) { this.element = { menu: node('section|class:menu'), area: node('div|class:menu-area'), - content: node('div|class:menu-content') + content: node('div|class:menu-content'), }; this.menuNav = new MenuNav({ @@ -28,7 +25,7 @@ export const MenuFrame = function ({ action: () => { this.content(); this.element.content.scrollTop = 0; - } + }, }); this.menuClose = new MenuClose(); @@ -36,7 +33,6 @@ export const MenuFrame = function ({ this.shade = new Shade(); this.class = () => { - const html = document.querySelector('html'); if (state.get.current().menu) { @@ -44,11 +40,9 @@ export const MenuFrame = function ({ } else { html.classList.remove('is-menu-open'); } - }; this.open = () => { - state.get.current().menu = true; data.save(); @@ -58,13 +52,12 @@ export const MenuFrame = function ({ this.element.menu.classList.add('is-transparent'); this.element.menu.addEventListener('transitionend', (event) => { - - if (event.propertyName === 'opacity' && getComputedStyle(this.element.menu).opacity == 0) { - + if ( + event.propertyName === 'opacity' && + getComputedStyle(this.element.menu).opacity == 0 + ) { body.removeChild(this.element.menu); - } - }); this.shade.open(); @@ -90,11 +83,9 @@ export const MenuFrame = function ({ this.class(); pageLock.render(); - }; this.close = () => { - state.get.current().menu = false; data.save(); @@ -116,32 +107,30 @@ export const MenuFrame = function ({ clearTimeout(this.delayedForceRemove); this.delayedForceRemove = setTimeout(() => { - const body = document.querySelector('body'); if (body.contains(this.element.menu)) { body.removeChild(this.element.menu); } - }, 6000); - }; this.delayedForceRemove = null; this.locationReset = () => { - const location = window.location; if ('pushState' in history) { - history.pushState('', document.title, location.origin + location.pathname + location.search); + history.pushState( + '', + document.title, + location.origin + location.pathname + location.search + ); } - }; this.bind = { add: () => { - window.addEventListener('mouseup', this.clickOut); window.addEventListener('keydown', this.focus.loop); @@ -151,10 +140,8 @@ export const MenuFrame = function ({ this.ctrAltA.add(); this.ctrAltG.add(); - }, remove: () => { - window.removeEventListener('mouseup', this.clickOut); window.removeEventListener('keydown', this.focus.loop); @@ -164,15 +151,14 @@ export const MenuFrame = function ({ this.ctrAltA.remove(); this.ctrAltG.remove(); - - } + }, }; this.esc = new KeyboardShortcut({ keycode: 27, action: () => { this.close(); - } + }, }); this.ctrAltA = new KeyboardShortcut({ @@ -181,7 +167,7 @@ export const MenuFrame = function ({ alt: true, action: () => { this.close(); - } + }, }); this.ctrAltG = new KeyboardShortcut({ @@ -190,62 +176,53 @@ export const MenuFrame = function ({ alt: true, action: () => { this.close(); - } + }, }); this.clickOut = (event) => { - const path = event.path || (event.composedPath && event.composedPath()); if (!path.includes(this.element.menu)) { this.close(); } - }; this.focus = { set: () => { - - const allFocusElement = document.querySelector('.menu').querySelectorAll('[tabindex]'); + const allFocusElement = document + .querySelector('.menu') + .querySelectorAll('[tabindex]'); allFocusElement[0].focus(); - }, loop: (event) => { - - const allFocusElement = document.querySelector('.menu').querySelectorAll('[tabindex]'); + const allFocusElement = document + .querySelector('.menu') + .querySelectorAll('[tabindex]'); if (allFocusElement.length > 0) { - const firstElement = allFocusElement[0]; const lastElement = allFocusElement[allFocusElement.length - 1]; if (event.keyCode == 9 && event.shiftKey) { - if (document.activeElement === firstElement) { lastElement.focus(); event.preventDefault(); } - } else if (event.keyCode == 9) { - if (document.activeElement === lastElement) { firstElement.focus(); event.preventDefault(); } - } - } - - } + }, }; this.assemble = () => { - this.element.area.appendChild(this.menuNav.nav()); this.element.area.appendChild(this.menuClose.close()); @@ -253,17 +230,13 @@ export const MenuFrame = function ({ this.element.area.appendChild(this.element.content); this.element.menu.appendChild(this.element.area); - }; this.content = () => { - clearChildNode(this.element.content); navData.forEach((item) => { - if (item.active) { - if (item.overscroll) { this.element.content.classList.add('menu-content-overscroll'); } else { @@ -272,15 +245,11 @@ export const MenuFrame = function ({ const menuContent = new MenuContent({ activeNavData: item, - container: this.element.content + container: this.element.content, }); menuContent.content(); - } - }); - }; - }; diff --git a/src/component/menuNav/index.css b/src/component/menuNav/index.css index 183fcf9e..4b38fbed 100644 --- a/src/component/menuNav/index.css +++ b/src/component/menuNav/index.css @@ -99,7 +99,9 @@ @media (min-width: 700px) { .menu-nav-tab { - padding-left: calc(((var(--menu-nav-space) / 8) + (var(--theme-radius) * 0.0025)) * 1em); + padding-left: calc( + ((var(--menu-nav-space) / 8) + (var(--theme-radius) * 0.0025)) * 1em + ); height: calc((var(--menu-nav-space) / 4) * 1em); justify-content: flex-start; } @@ -117,7 +119,8 @@ flex-wrap: nowrap; overflow: hidden; height: 0; - transition: background-color var(--layout-transition-extra-fast), height var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + height var(--layout-transition-extra-fast); } .is-edge .menu-subnav { @@ -143,7 +146,9 @@ margin: 0; padding-top: 0; padding-bottom: 0; - padding-left: calc(((var(--menu-nav-space) / 4) + (var(--theme-radius) * 0.0025)) * 1em); + padding-left: calc( + ((var(--menu-nav-space) / 4) + (var(--theme-radius) * 0.0025)) * 1em + ); border-radius: 0; height: calc((var(--menu-nav-space) / 4) * 1em); min-height: 3em; diff --git a/src/component/menuNav/index.js b/src/component/menuNav/index.js index 17959c41..fb3dced5 100644 --- a/src/component/menuNav/index.js +++ b/src/component/menuNav/index.js @@ -7,24 +7,15 @@ import { uppercaseFirstLetter } from '../../utility/uppercaseFirstLetter'; import './index.css'; -export const MenuNav = function({ - navData = {}, - action = false -} = {}) { - +export const MenuNav = function ({ navData = {}, action = false } = {}) { this.state = { current: {}, set: () => { - navData.forEach((item) => { - this.state.current[this.makeId(item.name)] = item.active; - }); - }, toggle: (name) => { - for (let key in this.state.current) { this.state.current[key] = false; } @@ -32,16 +23,13 @@ export const MenuNav = function({ this.state.current[this.makeId(name)] = true; navData.forEach((item) => { - item.active = false; if (item.name === name || item.name.toLowerCase() === name) { item.active = true; } - }); - - } + }, }; this.makeId = (name) => { @@ -54,25 +42,25 @@ export const MenuNav = function({ }; this.init = () => { - this.element.item.forEach((item) => { if (item.subLevel) { item.subLevel.classList.add('active'); - item.subLevel.setAttribute('style', '--menu-subnav-height: ' + item.subLevel.getBoundingClientRect().height + 'px;'); + item.subLevel.setAttribute( + 'style', + '--menu-subnav-height: ' + + item.subLevel.getBoundingClientRect().height + + 'px;' + ); item.subLevel.classList.remove('active'); } }); this.update(); - }; this.update = () => { - navData.forEach((item, i) => { - if (this.state.current[this.makeId(item.name)]) { - this.element.item[i].menuNavItem.classList.add('active'); this.element.item[i].topLevel.classList.add('active'); @@ -86,9 +74,7 @@ export const MenuNav = function({ item.tabIndex = 1; }); } - } else { - this.element.item[i].menuNavItem.classList.remove('active'); this.element.item[i].topLevel.classList.remove('active'); @@ -102,29 +88,22 @@ export const MenuNav = function({ item.tabIndex = -1; }); } - } - }); - }; this.nav = () => { - return this.element.nav; - }; this.assemble = () => { - navData.forEach((item) => { - const navTop = item.name; const navItem = { topLevel: false, subLevel: false, - subLevelItem: [] + subLevelItem: [], }; const navButton = new Button({ @@ -133,7 +112,6 @@ export const MenuNav = function({ block: true, classList: ['menu-nav-tab'], func: () => { - this.state.toggle(item.name); this.update(); @@ -141,36 +119,39 @@ export const MenuNav = function({ if (action) { action(); } - - } + }, }); navItem.topLevel = navButton.button; if (item.sub) { - const subNav = node('div|class:menu-subnav'); item.sub.forEach((item) => { - - const subLevelLink = node('a:' + message.get(`menuNav${uppercaseFirstLetter(navTop)}SubNav${uppercaseFirstLetter(item)}`) + '|href:#menu-content-item-' + this.makeId(item) + ',class:menu-nav-sub button button-link button-small,tabindex:1'); + const subLevelLink = node( + 'a:' + + message.get( + `menuNav${uppercaseFirstLetter( + navTop + )}SubNav${uppercaseFirstLetter(item)}` + ) + + '|href:#menu-content-item-' + + this.makeId(item) + + ',class:menu-nav-sub button button-link button-small,tabindex:1' + ); subNav.appendChild(subLevelLink); navItem.subLevelItem.push(subLevelLink); - }); navItem.subLevel = subNav; - } this.element.item.push(navItem); - }); this.element.item.forEach((item) => { - item.menuNavItem = node('div|class:menu-nav-item'); item.menuNavItem.appendChild(item.topLevel); @@ -180,13 +161,10 @@ export const MenuNav = function({ } this.element.nav.appendChild(item.menuNavItem); - }); - }; this.state.set(); this.assemble(); - }; diff --git a/src/component/message/index.js b/src/component/message/index.js index f8f570bb..4bc7ceda 100644 --- a/src/component/message/index.js +++ b/src/component/message/index.js @@ -24,11 +24,28 @@ import { default as vi } from '../../locale/vi/messages.json'; const message = {}; message.language = { - pack: { bn, de, en_GB, en_US, es, fil, fr, gu, hi, id, it, ja, ms, pt, ru, uk, vi } + pack: { + bn, + de, + en_GB, + en_US, + es, + fil, + fr, + gu, + hi, + id, + it, + ja, + ms, + pt, + ru, + uk, + vi, + }, }; message.language.list = () => { - const list = [ { code: 'bn', name: 'বাংলা' }, // Bengali { code: 'de', name: 'Deutsch' }, // German @@ -46,40 +63,42 @@ message.language.list = () => { { code: 'pt', name: 'Português' }, // Portuguese { code: 'ru', name: 'Pусский' }, // Russian { code: 'uk', name: 'український' }, // Ukrainian - { code: 'vi', name: 'англійська' } // Vietnamese + { code: 'vi', name: 'англійська' }, // Vietnamese ]; list.forEach((item) => { - if (item.code.indexOf('_') > -1) { - item.name = `${item.name} — ${(item.code.substring(0, item.code.indexOf('_'))).toUpperCase()} (${item.code.substring(item.code.indexOf('_') + 1, item.code.length)})`; + item.name = `${item.name} — ${item.code + .substring(0, item.code.indexOf('_')) + .toUpperCase()} (${item.code.substring( + item.code.indexOf('_') + 1, + item.code.length + )})`; } else { - item.name = `${item.name} — ${(item.code).toUpperCase()}`; + item.name = `${item.name} — ${item.code.toUpperCase()}`; } - }); list.unshift({ name: '—', disabled: true }); - list.unshift({ code: 'system', name: message.get('menuContentLanguageSystem') }); + list.unshift({ + code: 'system', + name: message.get('menuContentLanguageSystem'), + }); return list; - }; -message.language.name = () => message.language.list().map(item => item.name); +message.language.name = () => message.language.list().map((item) => item.name); -message.language.code = () => message.language.list().map(item => item.code); +message.language.code = () => message.language.list().map((item) => item.code); message.get = (stringId) => { - let string; switch (state.get.current().language) { - // use system language case 'system': - if (browserDetect().chrome && typeof chrome != 'undefined') { // if browser is chrome @@ -87,13 +106,9 @@ message.get = (stringId) => { // if installed as extension string = chrome.i18n.getMessage(stringId); - } else { - string = message.language.pack.en_GB[stringId].message; - } - } else if (browserDetect().firefox && typeof browser != 'undefined') { // if browser is firefox @@ -101,48 +116,34 @@ message.get = (stringId) => { // if installed as addon string = browser.i18n.getMessage(stringId); - } else { - string = message.language.pack.en_GB[stringId].message; - } - } else { - string = message.language.pack.en_GB[stringId].message; - } break; - // use manually selected language + // use manually selected language default: - if (stringId in message.language.pack[state.get.current().language]) { - // string found in chosen language - string = message.language.pack[state.get.current().language][stringId].message; - + string = + message.language.pack[state.get.current().language][stringId].message; } else { - // or use default language string = message.language.pack.en_GB[stringId].message; - } break; - } if (string.indexOf('{appName}') > -1) { - string = string.replaceAll('{appName}', APP_NAME); - } return string; - }; export { message }; diff --git a/src/component/modal/index.css b/src/component/modal/index.css index 76dbced5..52a46977 100644 --- a/src/component/modal/index.css +++ b/src/component/modal/index.css @@ -22,7 +22,8 @@ overflow: hidden; pointer-events: all; opacity: 0; - transition: background-color var(--layout-transition-extra-fast), opacity var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + opacity var(--layout-transition-extra-fast); z-index: var(--z-index-modal); } @@ -35,7 +36,8 @@ } .modal-content-wrapper { - padding: calc((var(--modal-space) / 2) * 0.75em) calc((var(--modal-space) / 2) * 1em); + padding: calc((var(--modal-space) / 2) * 0.75em) + calc((var(--modal-space) / 2) * 1em); position: relative; overflow-y: auto; } @@ -50,7 +52,8 @@ } .modal-body { - border-radius: calc(var(--theme-radius) * 0.01em) calc(var(--theme-radius) * 0.01em) 0 0; + border-radius: calc(var(--theme-radius) * 0.01em) + calc(var(--theme-radius) * 0.01em) 0 0; position: relative; } @@ -78,7 +81,8 @@ .modal-control { background-color: hsl(var(--theme-primary-010)); - border-radius: 0 0 calc(var(--theme-radius) * 0.01em) calc(var(--theme-radius) * 0.01em); + border-radius: 0 0 calc(var(--theme-radius) * 0.01em) + calc(var(--theme-radius) * 0.01em); position: relative; z-index: 2; display: flex; @@ -101,5 +105,5 @@ .modal-control .modal-control-button:last-child, .modal-control .modal-control-button:last-child:after { - border-radius: 0 0 calc(var(--theme-radius) * 0.01em) 0 + border-radius: 0 0 calc(var(--theme-radius) * 0.01em) 0; } diff --git a/src/component/modal/index.js b/src/component/modal/index.js index 6692af61..756db6f4 100644 --- a/src/component/modal/index.js +++ b/src/component/modal/index.js @@ -23,26 +23,24 @@ export const Modal = function ({ closeAction = false, width = 'medium', maxHeight = false, - maxHeadingLength = 50 + maxHeadingLength = 50, } = {}) { - this.element = { modal: node('div|class:modal'), heading: { heading: node('div|class:modal-heading'), - text: node('h1|class:modal-heading-text,tabindex:1') + text: node('h1|class:modal-heading-text,tabindex:1'), }, content: { wrapper: node('div|class:modal-content-wrapper'), - content: node('div|class:modal-content') + content: node('div|class:modal-content'), }, - control: node('div|class:modal-control') + control: node('div|class:modal-control'), }; this.shade = new Shade(); this.open = () => { - state.get.current().modal = true; const body = document.querySelector('body'); @@ -50,13 +48,12 @@ export const Modal = function ({ this.element.modal.classList.add('is-transparent'); this.element.modal.addEventListener('transitionend', (event) => { - - if (event.propertyName === 'opacity' && getComputedStyle(this.element.modal).opacity == 0) { - + if ( + event.propertyName === 'opacity' && + getComputedStyle(this.element.modal).opacity == 0 + ) { body.removeChild(this.element.modal); - } - }); this.shade.open(); @@ -82,11 +79,9 @@ export const Modal = function ({ } pageLock.render(); - }; this.close = () => { - state.get.current().modal = false; this.element.modal.classList.remove('is-opaque'); @@ -104,24 +99,20 @@ export const Modal = function ({ clearTimeout(this.delayedForceRemove); this.delayedForceRemove = setTimeout(() => { - const body = document.querySelector('body'); if (body.contains(this.element.modal)) { body.removeChild(this.element.modal); } - }, 6000); pageLock.render(); - }; this.delayedForceRemove = null; this.bind = { add: () => { - window.addEventListener('mouseup', this.clickOut); window.addEventListener('keydown', this.focus.loop); @@ -133,10 +124,8 @@ export const Modal = function ({ this.ctrAltG.add(); this.ctrAltA.add(); - }, remove: () => { - window.removeEventListener('mouseup', this.clickOut); window.removeEventListener('keydown', this.focus.loop); @@ -148,20 +137,44 @@ export const Modal = function ({ this.ctrAltG.remove(); this.ctrAltA.remove(); - - } + }, }; - this.esc = new KeyboardShortcut({ keycode: 27, action: () => { this.close(); } }); + this.esc = new KeyboardShortcut({ + keycode: 27, + action: () => { + this.close(); + }, + }); - this.ctrAltM = new KeyboardShortcut({ keycode: 77, ctrl: true, alt: true, action: () => { this.close(); } }); + this.ctrAltM = new KeyboardShortcut({ + keycode: 77, + ctrl: true, + alt: true, + action: () => { + this.close(); + }, + }); - this.ctrAltG = new KeyboardShortcut({ keycode: 71, ctrl: true, alt: true, action: () => { this.close(); } }); + this.ctrAltG = new KeyboardShortcut({ + keycode: 71, + ctrl: true, + alt: true, + action: () => { + this.close(); + }, + }); - this.ctrAltA = new KeyboardShortcut({ keycode: 65, ctrl: true, alt: true, action: () => { this.close(); } }); + this.ctrAltA = new KeyboardShortcut({ + keycode: 65, + ctrl: true, + alt: true, + action: () => { + this.close(); + }, + }); this.clickOut = (event) => { - const path = event.path || (event.composedPath && event.composedPath()); const suggest = document.querySelector('.suggest'); @@ -169,7 +182,6 @@ export const Modal = function ({ if (!path.includes(this.element.modal) && !path.includes(suggest)) { this.close(); } - }; this.focus = { @@ -177,46 +189,36 @@ export const Modal = function ({ this.element.heading.text.focus(); }, loop: (event) => { - - const allFocusElement = document.querySelector('.modal').querySelectorAll('[tabindex]'); + const allFocusElement = document + .querySelector('.modal') + .querySelectorAll('[tabindex]'); if (allFocusElement.length > 0) { - const firstElement = allFocusElement[0]; const lastElement = allFocusElement[allFocusElement.length - 1]; if (event.keyCode == 9 && event.shiftKey) { - if (document.activeElement === firstElement) { lastElement.focus(); event.preventDefault(); } - } else if (event.keyCode == 9) { - if (document.activeElement === lastElement) { firstElement.focus(); event.preventDefault(); } - } - } - - - } + }, }; this.style = () => { if (typeof width === 'number') { - this.element.modal.style.setProperty('--modal-width', width); - } else { - switch (width) { case 'small': this.element.modal.style.setProperty('--modal-width', 30); @@ -230,9 +232,7 @@ export const Modal = function ({ case 'large': this.element.modal.style.setProperty('--modal-width', 70); break; - } - } }; @@ -242,14 +242,12 @@ export const Modal = function ({ style: ['line'], classList: ['modal-control-button'], func: () => { - if (successAction) { successAction(); } this.close(); - - } + }, }); this.cancelButton = new Button({ @@ -258,24 +256,21 @@ export const Modal = function ({ style: ['line'], classList: ['modal-control-button'], func: () => { - if (cancelAction) { cancelAction(); } this.close(); - - } + }, }); this.assemble = () => { - if (heading && isValidString(heading)) { - let headingString = heading; if (headingString.length > maxHeadingLength) { - headingString = trimString(headingString.substring(0, maxHeadingLength)) + '...'; + headingString = + trimString(headingString.substring(0, maxHeadingLength)) + '...'; } this.element.heading.text.innerHTML = headingString; @@ -283,20 +278,15 @@ export const Modal = function ({ this.element.heading.heading.appendChild(this.element.heading.text); this.element.content.content.appendChild(this.element.heading.heading); - } if (content) { if (typeof content == 'string') { - const para = complexNode({ tag: 'p', text: content }); this.element.content.content.appendChild(para); - } else { - this.element.content.content.appendChild(content); - } } @@ -313,15 +303,11 @@ export const Modal = function ({ if (maxHeight) { this.element.modal.classList.add('modal-max-height'); } - }; this.modal = () => { - state.get.current().modal = false; return this.element.modal; - }; - }; diff --git a/src/component/pageLock/index.js b/src/component/pageLock/index.js index 0cc0b494..f607ab2f 100644 --- a/src/component/pageLock/index.js +++ b/src/component/pageLock/index.js @@ -3,7 +3,6 @@ import { state } from '../state'; const pageLock = {}; pageLock.render = () => { - const html = document.querySelector('html'); if (state.get.current().modal || state.get.current().menu) { @@ -11,7 +10,6 @@ pageLock.render = () => { } else { html.classList.remove('is-scroll-disabled'); } - }; pageLock.init = () => { diff --git a/src/component/presetThemeTile/index.css b/src/component/presetThemeTile/index.css index fb2fdc38..5ae71f9b 100644 --- a/src/component/presetThemeTile/index.css +++ b/src/component/presetThemeTile/index.css @@ -36,7 +36,10 @@ left: 0; width: 100%; height: 100%; - transition: background-color var(--layout-transition-extra-fast), height var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + height var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast); } .theme-preset-tile-front { @@ -58,7 +61,12 @@ line-height: 1.6; display: block; overflow: hidden; - transition: background-color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast), height var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast), border-radius var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast), + height var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast), + border-radius var(--layout-transition-extra-fast); } .theme-preset-preview { @@ -90,18 +98,58 @@ } .theme-preset-background-02 { - --theme-preset-preview-shift-02: calc((var(--theme-preset-preview-shift) / 4) + 2); + --theme-preset-preview-shift-02: calc( + (var(--theme-preset-preview-shift) / 4) + 2 + ); background-color: rgb(var(--theme-preset-background-02)); z-index: 2; - clip-path: polygon(100% calc(100% - (var(--theme-preset-preview-shift-02) * ((var(--theme-preset-preview-gap) / 4) * 1em))), 100% 100%, calc(100% - (var(--theme-preset-preview-shift-02) * ((var(--theme-preset-preview-gap) / 4) * 1em))) 100%); + clip-path: polygon( + 100% + calc( + 100% - + ( + var(--theme-preset-preview-shift-02) * + ((var(--theme-preset-preview-gap) / 4) * 1em) + ) + ), + 100% 100%, + calc( + 100% - + ( + var(--theme-preset-preview-shift-02) * + ((var(--theme-preset-preview-gap) / 4) * 1em) + ) + ) + 100% + ); transition-delay: var(--layout-duration-03); } .theme-preset-background-03 { - --theme-preset-preview-shift-03: calc((var(--theme-preset-preview-shift) / 4) + 1); + --theme-preset-preview-shift-03: calc( + (var(--theme-preset-preview-shift) / 4) + 1 + ); background-color: rgb(var(--theme-preset-background-03)); z-index: 3; - clip-path: polygon(100% calc(100% - (var(--theme-preset-preview-shift-03) * ((var(--theme-preset-preview-gap) / 4) * 1em))), 100% 100%, calc(100% - (var(--theme-preset-preview-shift-03) * ((var(--theme-preset-preview-gap) / 4) * 1em))) 100%); + clip-path: polygon( + 100% + calc( + 100% - + ( + var(--theme-preset-preview-shift-03) * + ((var(--theme-preset-preview-gap) / 4) * 1em) + ) + ), + 100% 100%, + calc( + 100% - + ( + var(--theme-preset-preview-shift-03) * + ((var(--theme-preset-preview-gap) / 4) * 1em) + ) + ) + 100% + ); transition-delay: var(--layout-duration-02); } @@ -109,7 +157,25 @@ --theme-preset-preview-shift-04: calc(var(--theme-preset-preview-shift) / 4); background-color: rgb(var(--theme-preset-background-04)); z-index: 4; - clip-path: polygon(100% calc(100% - (var(--theme-preset-preview-shift-04) * ((var(--theme-preset-preview-gap) / 4) * 1em))), 100% 100%, calc(100% - (var(--theme-preset-preview-shift-04) * ((var(--theme-preset-preview-gap) / 4) * 1em))) 100%); + clip-path: polygon( + 100% + calc( + 100% - + ( + var(--theme-preset-preview-shift-04) * + ((var(--theme-preset-preview-gap) / 4) * 1em) + ) + ), + 100% 100%, + calc( + 100% - + ( + var(--theme-preset-preview-shift-04) * + ((var(--theme-preset-preview-gap) / 4) * 1em) + ) + ) + 100% + ); transition-delay: var(--layout-duration-01); } @@ -142,5 +208,10 @@ text-overflow: ellipsis; white-space: initial; transform: scale(1); - transition: color var(--layout-transition-extra-fast), transform var(--layout-transition-extra-fast), max-width var(--layout-transition-extra-fast), max-height var(--layout-transition-extra-fast), top var(--layout-transition-extra-fast), left var(--layout-transition-extra-fast); + transition: color var(--layout-transition-extra-fast), + transform var(--layout-transition-extra-fast), + max-width var(--layout-transition-extra-fast), + max-height var(--layout-transition-extra-fast), + top var(--layout-transition-extra-fast), + left var(--layout-transition-extra-fast); } diff --git a/src/component/presetThemeTile/index.js b/src/component/presetThemeTile/index.js index 6880de04..5b599528 100644 --- a/src/component/presetThemeTile/index.js +++ b/src/component/presetThemeTile/index.js @@ -19,10 +19,7 @@ import { applyCSSState } from '../../utility/applyCSSState'; import './index.css'; -export const PresetThemeTile = function ({ - presetThemeData = false -} = {}) { - +export const PresetThemeTile = function ({ presetThemeData = false } = {}) { this.element = { tile: node('div|class:theme-preset-tile'), front: node('div|class:theme-preset-tile-front'), @@ -35,12 +32,13 @@ export const PresetThemeTile = function ({ style: ['ring'], block: true, func: () => { - const newPresetData = JSON.parse(JSON.stringify(presetThemeData)); - state.get.current().theme.color.range.primary.h = newPresetData.color.range.primary.h; + state.get.current().theme.color.range.primary.h = + newPresetData.color.range.primary.h; - state.get.current().theme.color.range.primary.s = newPresetData.color.range.primary.s; + state.get.current().theme.color.range.primary.s = + newPresetData.color.range.primary.s; state.get.current().theme.color.contrast = newPresetData.color.contrast; @@ -279,7 +277,7 @@ export const PresetThemeTile = function ({ 'theme.bookmark.color.opacity', 'theme.bookmark.item.opacity', 'theme.toolbar.opacity', - 'theme.group.toolbar.opacity' + 'theme.group.toolbar.opacity', ]); applyCSSClass([ @@ -287,18 +285,22 @@ export const PresetThemeTile = function ({ 'theme.background.type', 'theme.layout.color.by', 'theme.header.color.by', - 'theme.bookmark.color.by' + 'theme.bookmark.color.by', ]); - applyCSSState([ - 'theme.layout.divider.size' - ]); + applyCSSState(['theme.layout.divider.size']); layout.area.render(); - bookmark.item.mod.applyVar('border', state.get.current().theme.bookmark.item.border); + bookmark.item.mod.applyVar( + 'border', + state.get.current().theme.bookmark.item.border + ); - bookmark.item.mod.applyVar('color.opacity', state.get.current().theme.bookmark.item.opacity); + bookmark.item.mod.applyVar( + 'color.opacity', + state.get.current().theme.bookmark.item.opacity + ); groupAndBookmark.render(); @@ -309,90 +311,137 @@ export const PresetThemeTile = function ({ header.element.search.update.style(); data.save(); - - } - }) + }, + }), }; this.previewTile = () => { - const shadeSteps = 4; let hsl = presetThemeData.color.range.primary; - hsl.l = Math.round(presetThemeData.color.contrast.start + ((presetThemeData.color.contrast.end - presetThemeData.color.contrast.start) / 2)); + hsl.l = Math.round( + presetThemeData.color.contrast.start + + (presetThemeData.color.contrast.end - + presetThemeData.color.contrast.start) / + 2 + ); - let shadeStep = Math.round((presetThemeData.color.contrast.end - presetThemeData.color.contrast.start) / 10); + let shadeStep = Math.round( + (presetThemeData.color.contrast.end - + presetThemeData.color.contrast.start) / + 10 + ); for (let i = 1; i <= shadeSteps; i++) { + let darken = () => { + hsl.l = Math.round(hsl.l - shadeStep); + }; - let darken = () => { hsl.l = Math.round(hsl.l - shadeStep); }; - - let lighten = () => { hsl.l = Math.round(hsl.l + shadeStep); }; + let lighten = () => { + hsl.l = Math.round(hsl.l + shadeStep); + }; if (presetThemeData.style == 'dark') { - darken(); - } else if (presetThemeData.style == 'light') { - lighten(); - } else if (presetThemeData.style == 'system') { - if (window.matchMedia('(prefers-color-scheme:dark)').matches) { darken(); } else if (window.matchMedia('(prefers-color-scheme:light)').matches) { lighten(); } - } - if (hsl.l < 0) { hsl.l = 0; } + if (hsl.l < 0) { + hsl.l = 0; + } - if (hsl.l > 100) { hsl.l = 100; } + if (hsl.l > 100) { + hsl.l = 100; + } let rgb = convertColor.hsl.rgb(hsl); - this.element.tile.style.setProperty('--theme-preset-background-0' + i + '-rgb-r', rgb.r); - this.element.tile.style.setProperty('--theme-preset-background-0' + i + '-rgb-g', rgb.g); - this.element.tile.style.setProperty('--theme-preset-background-0' + i + '-rgb-b', rgb.b); - this.element.tile.style.setProperty('--theme-preset-background-0' + i + '-hsl-h', hsl.h); - this.element.tile.style.setProperty('--theme-preset-background-0' + i + '-hsl-s', hsl.s); - this.element.tile.style.setProperty('--theme-preset-background-0' + i + '-hsl-l', hsl.l); - - this.element.tile.style.setProperty('--theme-preset-background-0' + i, 'var(--theme-preset-background-0' + i + '-rgb-r), var(--theme-preset-background-0' + i + '-rgb-g), var(--theme-preset-background-0' + i + '-rgb-b)'); - - this.element.preview.appendChild(node('span|class:theme-preset-background-0' + i)); - + this.element.tile.style.setProperty( + '--theme-preset-background-0' + i + '-rgb-r', + rgb.r + ); + this.element.tile.style.setProperty( + '--theme-preset-background-0' + i + '-rgb-g', + rgb.g + ); + this.element.tile.style.setProperty( + '--theme-preset-background-0' + i + '-rgb-b', + rgb.b + ); + this.element.tile.style.setProperty( + '--theme-preset-background-0' + i + '-hsl-h', + hsl.h + ); + this.element.tile.style.setProperty( + '--theme-preset-background-0' + i + '-hsl-s', + hsl.s + ); + this.element.tile.style.setProperty( + '--theme-preset-background-0' + i + '-hsl-l', + hsl.l + ); + + this.element.tile.style.setProperty( + '--theme-preset-background-0' + i, + 'var(--theme-preset-background-0' + + i + + '-rgb-r), var(--theme-preset-background-0' + + i + + '-rgb-g), var(--theme-preset-background-0' + + i + + '-rgb-b)' + ); + + this.element.preview.appendChild( + node('span|class:theme-preset-background-0' + i) + ); } - this.element.tile.style.setProperty('--theme-preset-text', '0, 0%, calc(((((var(--theme-preset-background-01-rgb-r) * var(--theme-t-r)) + (var(--theme-preset-background-01-rgb-g) * var(--theme-t-g)) + (var(--theme-preset-background-01-rgb-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)'); - - this.element.tile.style.setProperty('--theme-preset-accent-rgb-r', presetThemeData.accent.rgb.r); - this.element.tile.style.setProperty('--theme-preset-accent-rgb-g', presetThemeData.accent.rgb.g); - this.element.tile.style.setProperty('--theme-preset-accent-rgb-b', presetThemeData.accent.rgb.b); - - this.element.tile.style.setProperty('--theme-preset-accent', 'var(--theme-preset-accent-rgb-r), var(--theme-preset-accent-rgb-g), var(--theme-preset-accent-rgb-b)'); + this.element.tile.style.setProperty( + '--theme-preset-text', + '0, 0%, calc(((((var(--theme-preset-background-01-rgb-r) * var(--theme-t-r)) + (var(--theme-preset-background-01-rgb-g) * var(--theme-t-g)) + (var(--theme-preset-background-01-rgb-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)' + ); + + this.element.tile.style.setProperty( + '--theme-preset-accent-rgb-r', + presetThemeData.accent.rgb.r + ); + this.element.tile.style.setProperty( + '--theme-preset-accent-rgb-g', + presetThemeData.accent.rgb.g + ); + this.element.tile.style.setProperty( + '--theme-preset-accent-rgb-b', + presetThemeData.accent.rgb.b + ); + + this.element.tile.style.setProperty( + '--theme-preset-accent', + 'var(--theme-preset-accent-rgb-r), var(--theme-preset-accent-rgb-g), var(--theme-preset-accent-rgb-b)' + ); this.element.preview.appendChild(node('span|class:theme-preset-accent')); return node('div|class:theme-preset-tile'); - }; this.assemble = () => { - this.previewTile(); this.element.preset.button.appendChild(this.element.preview); if (isValidString(presetThemeData.name)) { - this.element.name.innerHTML = presetThemeData.name; this.element.preset.button.appendChild(this.element.name); - } this.element.front.appendChild(this.element.preset.button); @@ -400,15 +449,11 @@ export const PresetThemeTile = function ({ this.element.tile.appendChild(this.element.back); this.element.tile.appendChild(this.element.front); - }; this.tile = () => { - return this.element.tile; - }; this.assemble(); - }; diff --git a/src/component/search/index.css b/src/component/search/index.css index 1fb5e5f8..251be138 100644 --- a/src/component/search/index.css +++ b/src/component/search/index.css @@ -4,7 +4,10 @@ } .search input[type="search"] { - background-color: hsla(var(--button-background), calc(var(--theme-header-search-opacity) / 100)); + background-color: hsla( + var(--button-background), + calc(var(--theme-header-search-opacity) / 100) + ); } .is-header-search-text-justify-left .search input[type="search"] { @@ -20,16 +23,25 @@ } input[type="search"]:hover { - background-color: hsla(var(--form-input-background-hover), calc(var(--theme-header-search-opacity) / 100)); + background-color: hsla( + var(--form-input-background-hover), + calc(var(--theme-header-search-opacity) / 100) + ); } input[type="search"]:focus, input[type="search"]:active { - background-color: hsla(var(--form-input-background-focus-active), calc(var(--theme-header-search-opacity) / 100)); + background-color: hsla( + var(--form-input-background-focus-active), + calc(var(--theme-header-search-opacity) / 100) + ); } input[type="search"]:disabled { - background-color: hsla(var(--form-input-background-disabled), calc(var(--theme-header-search-opacity) / 100)); + background-color: hsla( + var(--form-input-background-disabled), + calc(var(--theme-header-search-opacity) / 100) + ); } .search-clear { diff --git a/src/component/search/index.js b/src/component/search/index.js index d3859789..6a241f3c 100644 --- a/src/component/search/index.js +++ b/src/component/search/index.js @@ -4,7 +4,6 @@ import { bookmark } from '../bookmark'; import { groupAndBookmark } from '../groupAndBookmark'; import { searchEnginePreset } from '../searchEnginePreset'; - import { Button } from '../button'; import { Control_text } from '../control/text'; @@ -15,7 +14,6 @@ import { isValidString } from '../../utility/isValidString'; import './index.css'; export const Search = function () { - this.element = { search: node('div|class:search'), form: node('form|class:search-form,action,method:get'), @@ -32,7 +30,7 @@ export const Search = function () { action: () => { this.state(); this.performSearch(); - } + }, }), clear: new Button({ text: 'Clear search', @@ -45,28 +43,21 @@ export const Search = function () { this.element.input.text.value = ''; this.state(); this.performSearch(); - } - }) + }, + }), }; this.state = () => { - if (isValidString(trimString(this.element.input.text.value))) { - state.get.current().search = true; - } else { - state.get.current().search = false; - } data.save(); - }; this.placeholder = () => { - let placeholder = ''; if (state.get.current().bookmark.show) { @@ -76,67 +67,72 @@ export const Search = function () { } switch (state.get.current().header.search.engine.selected) { - case 'custom': - - if (isValidString(state.get.current().header.search.engine.custom.name)) { - - placeholder = placeholder + ' ' + state.get.current().header.search.engine.custom.name; - + if ( + isValidString(state.get.current().header.search.engine.custom.name) + ) { + placeholder = + placeholder + + ' ' + + state.get.current().header.search.engine.custom.name; } break; default: - - placeholder = placeholder + ' ' + searchEnginePreset[state.get.current().header.search.engine.selected].name; + placeholder = + placeholder + + ' ' + + searchEnginePreset[state.get.current().header.search.engine.selected] + .name; break; - } this.element.input.text.placeholder = placeholder; - }; this.engine = {}; this.engine.set = () => { - switch (state.get.current().header.search.engine.selected) { - case 'custom': - - if (isValidString(state.get.current().header.search.engine.custom.queryName) && isValidString(state.get.current().header.search.engine.custom.url)) { - - this.element.input.text.name = state.get.current().header.search.engine.custom.queryName; - - this.element.form.setAttribute('action', state.get.current().header.search.engine.custom.url); - + if ( + isValidString( + state.get.current().header.search.engine.custom.queryName + ) && + isValidString(state.get.current().header.search.engine.custom.url) + ) { + this.element.input.text.name = + state.get.current().header.search.engine.custom.queryName; + + this.element.form.setAttribute( + 'action', + state.get.current().header.search.engine.custom.url + ); } else { - this.element.input.text.name = ''; this.element.form.setAttribute('action', ''); - } break; default: - this.element.input.text.name = 'q'; - this.element.form.setAttribute('action', searchEnginePreset[state.get.current().header.search.engine.selected].url); + this.element.form.setAttribute( + 'action', + searchEnginePreset[state.get.current().header.search.engine.selected] + .url + ); break; - } if (state.get.current().header.search.newTab) { this.element.form.setAttribute('target', '_blank'); } - }; this.engine.bind = () => { @@ -144,63 +140,54 @@ export const Search = function () { }; this.performSearch = () => { - const html = document.querySelector('html'); if (state.get.current().search) { - html.classList.add('is-search'); - const searchString = trimString(this.element.input.text.value).toLowerCase(); + const searchString = trimString( + this.element.input.text.value + ).toLowerCase(); bookmark.all.forEach((item) => { - item.items.forEach((item) => { - item.searchMatch = false; - let matchUrl = isValidString(item.url) && item.url.toLowerCase().includes(searchString); + let matchUrl = + isValidString(item.url) && + item.url.toLowerCase().includes(searchString); - let matchName = isValidString(item.display.name.text) && trimString(item.display.name.text).toLowerCase().includes(searchString); + let matchName = + isValidString(item.display.name.text) && + trimString(item.display.name.text) + .toLowerCase() + .includes(searchString); if (matchUrl || matchName) { item.searchMatch = true; } - }); - }); - } else { - html.classList.remove('is-search'); this.clearSearch(); - } groupAndBookmark.render(); - }; this.clearSearch = () => { - bookmark.all.forEach((item) => { - item.items.forEach((item) => { - delete item.searchMatch; - }); - }); data.save(); - }; this.assemble = () => { - this.element.input.text.type = 'Search'; this.element.form.appendChild(this.element.input.text); @@ -210,58 +197,45 @@ export const Search = function () { this.element.form.appendChild(this.element.clear.button); this.element.search.appendChild(this.element.form); - }; this.search = () => { - return this.element.search; - }; this.resultCount = () => { - const count = { total: 0, group: [] }; bookmark.all.forEach((item, i) => { - count.group.push({ bookmarkCount: item.items.length, - searchMatch: 0 + searchMatch: 0, }); const groupIndex = i; item.items.forEach((item) => { - - if (item.searchMatch) { count.group[groupIndex].searchMatch++; } - + if (item.searchMatch) { + count.group[groupIndex].searchMatch++; + } }); count.total = count.total + count.group[groupIndex].searchMatch; - }); return count; - }; this.update = {}; this.update.style = () => { - const html = document.querySelector('html'); if (state.get.current().theme.header.search.opacity < 40) { - html.classList.add('is-header-search-opacity-low'); - } else { - html.classList.remove('is-header-search-opacity-low'); - } - }; this.assemble(); @@ -273,5 +247,4 @@ export const Search = function () { this.clearSearch(); this.update.style(); - }; diff --git a/src/component/searchEmpty/index.js b/src/component/searchEmpty/index.js index 9fe80616..6c79dcc0 100644 --- a/src/component/searchEmpty/index.js +++ b/src/component/searchEmpty/index.js @@ -10,46 +10,48 @@ import { isValidString } from '../../utility/isValidString'; import './index.css'; export const SearchEmpty = function () { - this.element = { empty: node('div|class:search-empty'), description: complexNode({ tag: 'p', - text: `No bookmarks matching "${trimString(header.element.search.element.input.text.value)}" found`, - attr: [{ - key: 'class', - value: 'search-empty-string' - }] + text: `No bookmarks matching "${trimString( + header.element.search.element.input.text.value + )}" found`, + attr: [ + { + key: 'class', + value: 'search-empty-string', + }, + ], }), - helper: node('p|class:search-empty-helper small muted') + helper: node('p|class:search-empty-helper small muted'), }; this.assemble = () => { - switch (state.get.current().header.search.engine.selected) { - case 'custom': - - if (isValidString(state.get.current().header.search.engine.custom.name)) { - - this.element.helper.textContent = 'Press "Enter" to Search ' + state.get.current().header.search.engine.custom.name; - + if ( + isValidString(state.get.current().header.search.engine.custom.name) + ) { + this.element.helper.textContent = + 'Press "Enter" to Search ' + + state.get.current().header.search.engine.custom.name; } break; default: - - this.element.helper.textContent = 'Press "Enter" to Search ' + searchEnginePreset[state.get.current().header.search.engine.selected].name; + this.element.helper.textContent = + 'Press "Enter" to Search ' + + searchEnginePreset[state.get.current().header.search.engine.selected] + .name; break; - } this.element.empty.appendChild(this.element.description); this.element.empty.appendChild(this.element.helper); - }; this.empty = () => { @@ -57,5 +59,4 @@ export const SearchEmpty = function () { }; this.assemble(); - }; diff --git a/src/component/searchEnginePreset/index.js b/src/component/searchEnginePreset/index.js index cbf781c5..db9e8589 100644 --- a/src/component/searchEnginePreset/index.js +++ b/src/component/searchEnginePreset/index.js @@ -1,7 +1,12 @@ export const searchEnginePreset = { google: { url: 'https://www.google.com/search', name: 'Google' }, + brave: { url: 'https://search.brave.com/search?q=', name: 'Brave' }, duckduckgo: { url: 'https://duckduckgo.com/', name: 'DuckDuckGo' }, - youtube: { url: 'https://www.youtube.com/results?search_query=', name: 'YouTube' }, + youtube: { + url: 'https://www.youtube.com/results?search_query=', + name: 'YouTube', + }, giphy: { url: 'https://giphy.com/search/', name: 'Giphy' }, - bing: { url: 'https://www.bing.com/search?q=', name: 'Bing' } + bing: { url: 'https://www.bing.com/search?q=', name: 'Bing' }, + startpage: { url: 'https://www.startpage.com/do/search?q=', name: 'Startpage' } }; diff --git a/src/component/shade/index.css b/src/component/shade/index.css index 964da1ac..11374c01 100644 --- a/src/component/shade/index.css +++ b/src/component/shade/index.css @@ -1,5 +1,8 @@ .shade { - background-color: rgba(var(--theme-accent), calc(var(--theme-shade-opacity) / 100)); + background-color: rgba( + var(--theme-accent), + calc(var(--theme-shade-opacity) / 100) + ); position: fixed; top: -1em; left: -1em; @@ -9,7 +12,9 @@ z-index: var(--z-index-shade); pointer-events: all; backdrop-filter: blur(calc(var(--theme-shade-blur) * 1px)); - transition: background-color var(--layout-transition-extra-fast), opacity var(--layout-transition-extra-fast), backdrop-filter var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + opacity var(--layout-transition-extra-fast), + backdrop-filter var(--layout-transition-extra-fast); } .shade.is-transparent { @@ -17,6 +22,9 @@ } .is-edge .shade { - background-color: rgba(var(--theme-accent), calc(var(--theme-shade-opacity) / 500)); + background-color: rgba( + var(--theme-accent), + calc(var(--theme-shade-opacity) / 500) + ); backdrop-filter: blur(0); } diff --git a/src/component/shade/index.js b/src/component/shade/index.js index af7460d4..b1c51596 100644 --- a/src/component/shade/index.js +++ b/src/component/shade/index.js @@ -3,9 +3,8 @@ import { node } from '../../utility/node'; import './index.css'; export const Shade = function () { - this.element = { - shade: node('div|class:shade') + shade: node('div|class:shade'), }; this.open = () => { @@ -14,7 +13,10 @@ export const Shade = function () { this.element.shade.classList.add('is-transparent'); this.element.shade.addEventListener('transitionend', (event) => { - if (event.propertyName === 'opacity' && getComputedStyle(this.element.shade).opacity == 0) { + if ( + event.propertyName === 'opacity' && + getComputedStyle(this.element.shade).opacity == 0 + ) { body.removeChild(this.element.shade); } }); @@ -29,7 +31,6 @@ export const Shade = function () { }; this.close = () => { - this.element.shade.classList.remove('is-opaque'); this.element.shade.classList.add('is-transparent'); @@ -37,15 +38,12 @@ export const Shade = function () { clearTimeout(this.delayedForceRemove); this.delayedForceRemove = setTimeout(() => { - const body = document.querySelector('body'); if (body.contains(this.element.shade)) { body.removeChild(this.element.shade); } - }, 6000); - }; this.delayedForceRemove = null; @@ -53,5 +51,4 @@ export const Shade = function () { this.shade = () => { return this.element.shade; }; - }; diff --git a/src/component/splash/index.css b/src/component/splash/index.css index 25bdf5ce..d4df085c 100644 --- a/src/component/splash/index.css +++ b/src/component/splash/index.css @@ -7,7 +7,8 @@ justify-items: start; } -.splash-logo {} +.splash-logo { +} .splash-description { display: flex; diff --git a/src/component/splash/index.js b/src/component/splash/index.js index 96927f33..cf9468f4 100644 --- a/src/component/splash/index.js +++ b/src/component/splash/index.js @@ -7,8 +7,7 @@ import { APP_NAME } from '../../constant'; import './index.css'; -export const Splash = function() { - +export const Splash = function () { this.logo = new Logo(); this.element = { @@ -17,25 +16,33 @@ export const Splash = function() { description: { description: node('div|class:splash-description'), name: node('h1:' + APP_NAME + '|class:splash-name'), - versionName: node('p:' + version.name + '|class:splash-version-name small'), - versionNumber: node('p:Version ' + version.number + '|class:splash-version-number') - } + versionName: node( + 'p:' + version.name + '|class:splash-version-name small' + ), + versionNumber: node( + 'p:Version ' + version.number + '|class:splash-version-number' + ), + }, }; this.assemble = () => { - this.element.logo.appendChild(this.logo.logo()); this.element.splash.appendChild(this.element.logo); - this.element.description.description.appendChild(this.element.description.name); + this.element.description.description.appendChild( + this.element.description.name + ); - this.element.description.description.appendChild(this.element.description.versionNumber); + this.element.description.description.appendChild( + this.element.description.versionNumber + ); - this.element.description.description.appendChild(this.element.description.versionName); + this.element.description.description.appendChild( + this.element.description.versionName + ); this.element.splash.appendChild(this.element.description.description); - }; this.splash = () => { @@ -43,5 +50,4 @@ export const Splash = function() { }; this.assemble(); - }; diff --git a/src/component/stagedBookmark/index.js b/src/component/stagedBookmark/index.js index dea1ec15..e9a02216 100644 --- a/src/component/stagedBookmark/index.js +++ b/src/component/stagedBookmark/index.js @@ -1,12 +1,11 @@ import { bookmarkDefault } from '../bookmarkDefault'; export const StagedBookmark = function (bookmarkData) { - this.link = bookmarkData || JSON.parse(JSON.stringify(bookmarkDefault)); this.position = { origin: { group: 0, item: 0 }, - destination: { group: 0, item: 0 } + destination: { group: 0, item: 0 }, }; this.group = { destination: 'existing', name: '' }; @@ -14,5 +13,4 @@ export const StagedBookmark = function (bookmarkData) { this.type = { new: false, existing: false }; this.propagate = { display: false, layout: false, theme: false }; - }; diff --git a/src/component/stagedCustomTheme/index.js b/src/component/stagedCustomTheme/index.js index 009d295c..c96a8e80 100644 --- a/src/component/stagedCustomTheme/index.js +++ b/src/component/stagedCustomTheme/index.js @@ -1,9 +1,8 @@ import { customThemeDefault } from '../customThemeDefault'; export const StagedCustomTheme = function (customThemeData) { - - this.theme = customThemeData || JSON.parse(JSON.stringify(customThemeDefault())); + this.theme = + customThemeData || JSON.parse(JSON.stringify(customThemeDefault())); this.position = 0; - }; diff --git a/src/component/stagedGroup/index.js b/src/component/stagedGroup/index.js index 4844a11d..cc1e571e 100644 --- a/src/component/stagedGroup/index.js +++ b/src/component/stagedGroup/index.js @@ -4,17 +4,13 @@ import { isValidString } from '../../utility/isValidString'; import { trimString } from '../../utility/trimString'; export const StagedGroup = function (groupData) { - this.group = groupData || JSON.parse(JSON.stringify(groupDefault)); this.position = { origin: 0, destination: 0 }; this.type = { new: false, existing: false }; - this.newGroup = ({ - name = false - } = {}) => { - + this.newGroup = ({ name = false } = {}) => { if (name && isValidString(name)) { this.group.name.text = trimString(name); } @@ -22,7 +18,5 @@ export const StagedGroup = function (groupData) { this.position.destination = bookmark.all.length; this.type.new = true; - }; - }; diff --git a/src/component/state/index.js b/src/component/state/index.js index 9cc64f71..76b40204 100644 --- a/src/component/state/index.js +++ b/src/component/state/index.js @@ -7,7 +7,7 @@ state.default = { layout: { area: { header: { width: 100, justify: 'center' }, - bookmark: { width: 100, justify: 'center' } + bookmark: { width: 100, justify: 'center' }, }, alignment: 'center-center', order: 'header-bookmark', @@ -20,12 +20,24 @@ state.default = { scrollbar: 'auto', title: '', favicon: '', - overscroll: { active: false, unblur: false } + overscroll: { active: false, unblur: false }, }, header: { item: { justify: 'left' }, - greeting: { show: false, type: 'good', custom: '', name: '', size: 100, newLine: false }, - transitional: { show: false, type: 'time-and-date', size: 100, newLine: false }, + greeting: { + show: false, + type: 'good', + custom: '', + name: '', + size: 100, + newLine: false, + }, + transitional: { + show: false, + type: 'time-and-date', + size: 100, + newLine: false, + }, clock: { hour: { show: true, display: 'number' }, minute: { show: true, display: 'number' }, @@ -34,29 +46,37 @@ state.default = { meridiem: { show: false }, hour24: { show: true }, size: 100, - newLine: false + newLine: false, }, date: { - day: { show: false, display: 'word', weekStart: 'monday', length: 'long' }, + day: { + show: false, + display: 'word', + weekStart: 'monday', + length: 'long', + }, date: { show: true, display: 'number', ordinal: true }, month: { show: true, display: 'word', length: 'short', ordinal: true }, year: { show: false, display: 'number' }, separator: { show: true, text: '' }, format: 'date-month', size: 100, - newLine: false + newLine: false, }, search: { show: true, width: { by: 'auto', size: 30 }, - engine: { selected: 'google', custom: { name: '', url: '', queryName: '' } }, + engine: { + selected: 'google', + custom: { name: '', url: '', queryName: '' }, + }, text: { justify: 'center' }, size: 100, newLine: false, - newTab: false + newTab: false, }, order: [], - edit: false + edit: false, }, bookmark: { size: 100, @@ -69,7 +89,7 @@ state.default = { newTab: false, edit: false, add: false, - show: true + show: true, }, group: { area: { justify: 'left' }, @@ -77,42 +97,103 @@ state.default = { name: { size: 100 }, toolbar: { size: 100 }, edit: false, - add: false + add: false, + }, + toolbar: { + location: 'header', + position: 'bottom-right', + size: 100, + accent: { show: true }, + add: { show: true }, + edit: { show: true }, + newLine: false, }, - toolbar: { location: 'header', position: 'bottom-right', size: 100, accent: { show: true }, add: { show: true }, edit: { show: true }, newLine: false }, theme: { - color: { range: { primary: { h: 222, s: 14 } }, contrast: { start: 17, end: 83 }, shades: 14 }, - accent: { hsl: { h: 221, s: 100, l: 50 }, rgb: { r: 0, g: 80, b: 255 }, random: { active: false, style: 'any' }, cycle: { active: false, speed: 300, step: 10 } }, + color: { + range: { primary: { h: 222, s: 14 } }, + contrast: { start: 17, end: 83 }, + shades: 14, + }, + accent: { + hsl: { h: 221, s: 100, l: 50 }, + rgb: { r: 0, g: 80, b: 255 }, + random: { active: false, style: 'any' }, + cycle: { active: false, speed: 300, step: 10 }, + }, font: { display: { name: '', weight: 400, style: 'normal' }, - ui: { name: '', weight: 400, style: 'normal' } + ui: { name: '', weight: 400, style: 'normal' }, }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, - start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + start: { + hsl: { h: 206, s: 16, l: 40 }, + rgb: { r: 86, g: 104, b: 118 }, + }, + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, opacity: { general: 100 }, - layout: { color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, blur: 0, opacity: 10 }, divider: { size: 0 } }, - header: { color: { by: 'theme', hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, opacity: 10 }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + blur: 0, + opacity: 10, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + opacity: 10, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, toolbar: { opacity: 100 }, style: 'dark', radius: 25, shadow: 75, shade: { opacity: 30, blur: 0 }, - custom: { all: [], edit: false } + custom: { all: [], edit: false }, }, search: false, modal: false, - menu: false + menu: false, }; state.minMax = { @@ -121,155 +202,268 @@ state.minMax = { transitional: { size: { min: 50, max: 500 } }, clock: { size: { min: 50, max: 500 } }, date: { size: { min: 50, max: 500 } }, - search: { size: { min: 50, max: 500 }, width: { size: { min: 10, max: 100 } } } + search: { + size: { min: 50, max: 500 }, + width: { size: { min: 10, max: 100 } }, + }, }, bookmark: { size: { min: 50, max: 500 } }, group: { name: { size: { min: 50, max: 500 } }, - toolbar: { size: { min: 50, max: 500 } } + toolbar: { size: { min: 50, max: 500 } }, }, layout: { area: { header: { width: { min: 10, max: 100 } }, - bookmark: { width: { min: 10, max: 100 } } + bookmark: { width: { min: 10, max: 100 } }, }, size: { min: 10, max: 200 }, width: { min: 10, max: 100 }, padding: { min: 0, max: 300 }, - gutter: { min: 0, max: 300 } + gutter: { min: 0, max: 300 }, }, toolbar: { size: { min: 50, max: 500 } }, theme: { color: { range: { primary: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 } } }, - contrast: { start: { min: 0, max: 100 }, end: { min: 0, max: 100 } } + contrast: { start: { min: 0, max: 100 }, end: { min: 0, max: 100 } }, }, accent: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } }, - cycle: { speed: { min: 100, max: 1000 }, step: { min: 1, max: 100 } } + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, + cycle: { speed: { min: 100, max: 1000 }, step: { min: 1, max: 100 } }, }, font: { display: { weight: { min: 100, max: 900 } }, - ui: { weight: { min: 100, max: 900 } } + ui: { weight: { min: 100, max: 900 } }, }, opacity: { general: { min: 0, max: 100 }, toolbar: { min: 0, max: 100 }, bookmark: { min: 0, max: 100 }, - search: { min: 0, max: 100 } + search: { min: 0, max: 100 }, }, layout: { color: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } }, + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, blur: { min: 0, max: 200 }, - opacity: { min: 0, max: 100 } + opacity: { min: 0, max: 100 }, }, - divider: { size: { min: 0, max: 10 } } + divider: { size: { min: 0, max: 10 } }, }, header: { color: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } }, - opacity: { min: 0, max: 100 } + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, + opacity: { min: 0, max: 100 }, }, - search: { opacity: { min: 0, max: 100 } } + search: { opacity: { min: 0, max: 100 } }, }, bookmark: { color: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } }, - opacity: { min: 0, max: 100 } + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, + opacity: { min: 0, max: 100 }, }, - item: { border: { min: 0, max: 20 }, opacity: { min: 0, max: 100 } } + item: { border: { min: 0, max: 20 }, opacity: { min: 0, max: 100 } }, }, group: { toolbar: { opacity: { min: 0, max: 100 } } }, toolbar: { opacity: { min: 0, max: 100 } }, background: { color: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } } + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, }, gradient: { angle: { min: 0, max: 360 }, start: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } } + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, }, end: { - hsl: { h: { min: 0, max: 359 }, s: { min: 0, max: 100 }, l: { min: 0, max: 100 } }, - rgb: { r: { min: 0, max: 255 }, g: { min: 0, max: 255 }, b: { min: 0, max: 255 } } + hsl: { + h: { min: 0, max: 359 }, + s: { min: 0, max: 100 }, + l: { min: 0, max: 100 }, + }, + rgb: { + r: { min: 0, max: 255 }, + g: { min: 0, max: 255 }, + b: { min: 0, max: 255 }, + }, + }, + }, + image: { + blur: { min: 0, max: 200 }, + grayscale: { min: 0, max: 100 }, + scale: { min: 100, max: 400 }, + accent: { min: 0, max: 100 }, + opacity: { min: 0, max: 100 }, + vignette: { + opacity: { min: 0, max: 100 }, + start: { min: 0, max: 100 }, + end: { min: 0, max: 100 }, + }, + }, + video: { + blur: { min: 0, max: 200 }, + grayscale: { min: 0, max: 100 }, + scale: { min: 100, max: 400 }, + accent: { min: 0, max: 100 }, + opacity: { min: 0, max: 100 }, + vignette: { + opacity: { min: 0, max: 100 }, + start: { min: 0, max: 100 }, + end: { min: 0, max: 100 }, }, }, - image: { blur: { min: 0, max: 200 }, grayscale: { min: 0, max: 100 }, scale: { min: 100, max: 400 }, accent: { min: 0, max: 100 }, opacity: { min: 0, max: 100 }, vignette: { opacity: { min: 0, max: 100 }, start: { min: 0, max: 100 }, end: { min: 0, max: 100 } } }, - video: { blur: { min: 0, max: 200 }, grayscale: { min: 0, max: 100 }, scale: { min: 100, max: 400 }, accent: { min: 0, max: 100 }, opacity: { min: 0, max: 100 }, vignette: { opacity: { min: 0, max: 100 }, start: { min: 0, max: 100 }, end: { min: 0, max: 100 } } } }, radius: { min: 0, max: 500 }, shadow: { min: 0, max: 300 }, - shade: { opacity: { min: 0, max: 100 }, blur: { min: 0, max: 200 } } - } + shade: { opacity: { min: 0, max: 100 }, blur: { min: 0, max: 200 } }, + }, }; state.step = { theme: { font: { display: { weight: 100 }, - ui: { weight: 100 } - } - } + ui: { weight: 100 }, + }, + }, }; state.option = { layout: { area: { - header: { justify: ['left', 'center', 'right'], align: ['left', 'center', 'right'] }, - bookmark: { justify: ['left', 'center', 'right'], align: ['left', 'center', 'right'] } + header: { + justify: ['left', 'center', 'right'], + align: ['left', 'center', 'right'], + }, + bookmark: { + justify: ['left', 'center', 'right'], + align: ['left', 'center', 'right'], + }, }, - alignment: ['top-left', 'top-center', 'top-right', 'center-left', 'center-center', 'center-right', 'bottom-left', 'bottom-center', 'bottom-right'], + alignment: [ + 'top-left', + 'top-center', + 'top-right', + 'center-left', + 'center-center', + 'center-right', + 'bottom-left', + 'bottom-center', + 'bottom-right', + ], direction: ['horizontal', 'vertical'], order: ['header-bookmark', 'bookmark-header'], - scrollbar: ['auto', 'thin', 'none'] + scrollbar: ['auto', 'thin', 'none'], }, header: { item: { justify: ['left', 'center', 'right'] }, - search: { width: { by: ['auto', 'custom'] }, text: { justify: ['left', 'center', 'right'] } } + search: { + width: { by: ['auto', 'custom'] }, + text: { justify: ['left', 'center', 'right'] }, + }, }, bookmark: { item: { justify: ['left', 'center', 'right'] }, orientation: ['top', 'bottom'], - style: ['block', 'list'] + style: ['block', 'list'], }, group: { area: { justify: ['left', 'center', 'right'] }, - order: ['header-body', 'body-header'] + order: ['header-body', 'body-header'], }, toolbar: { location: ['corner', 'header'], - position: ['top-left', 'top-right', 'bottom-right', 'bottom-left'] + position: ['top-left', 'top-right', 'bottom-right', 'bottom-left'], }, theme: { - accent: { random: { style: ['any', 'light', 'dark', 'pastel', 'saturated'] } }, + accent: { + random: { style: ['any', 'light', 'dark', 'pastel', 'saturated'] }, + }, style: ['dark', 'light', 'system'], layout: { color: { by: ['theme', 'custom'] } }, header: { color: { by: ['theme', 'custom'] } }, bookmark: { color: { by: ['theme', 'custom'] } }, - background: { type: ['theme', 'accent', 'color', 'gradient', 'image', 'video'] } - } + background: { + type: ['theme', 'accent', 'color', 'gradient', 'image', 'video'], + }, + }, }; state.get = { - current: () => { return state.current; }, - default: () => { return JSON.parse(JSON.stringify(state.default)); }, - minMax: () => { return JSON.parse(JSON.stringify(state.minMax)); }, - step: () => { return JSON.parse(JSON.stringify(state.step)); }, - option: () => { return JSON.parse(JSON.stringify(state.option)); } + current: () => { + return state.current; + }, + default: () => { + return JSON.parse(JSON.stringify(state.default)); + }, + minMax: () => { + return JSON.parse(JSON.stringify(state.minMax)); + }, + step: () => { + return JSON.parse(JSON.stringify(state.step)); + }, + option: () => { + return JSON.parse(JSON.stringify(state.option)); + }, }; state.set = { restore: { setup: (dataToRestore) => { - state.current.language = dataToRestore.state.language; state.current.layout = dataToRestore.state.layout; state.current.header = dataToRestore.state.header; @@ -277,21 +471,16 @@ state.set = { state.current.group = dataToRestore.state.group; state.current.toolbar = dataToRestore.state.toolbar; console.log('setup restored'); - }, theme: (dataToRestore) => { - state.current.theme = dataToRestore.state.theme; console.log('theme restored'); - - } + }, }, default: () => { - state.current = state.get.default(); console.log('state set to default'); - - } + }, }; export { state }; diff --git a/src/component/suggest/index.css b/src/component/suggest/index.css index 23003fa4..c5deef53 100644 --- a/src/component/suggest/index.css +++ b/src/component/suggest/index.css @@ -38,7 +38,10 @@ flex-direction: column; justify-content: center; align-items: center; - transition: background-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast), border-color var(--layout-transition-extra-fast), box-shadow var(--layout-transition-extra-fast); + transition: background-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast), + border-color var(--layout-transition-extra-fast), + box-shadow var(--layout-transition-extra-fast); } .suggest-icon { diff --git a/src/component/suggest/index.js b/src/component/suggest/index.js index 8c13c1d1..d1c6011c 100644 --- a/src/component/suggest/index.js +++ b/src/component/suggest/index.js @@ -14,35 +14,29 @@ export const Suggest = function ({ widthElement = false, type = false, postFocus = false, - action = false + action = false, } = {}) { - this.state = { - open: false + open: false, }; this.element = { suggest: node('div|class:suggest'), list: node('div|class:suggest-list list-unstyled'), - input: input + input: input, }; this.open = () => { - const results = this.suggestItems(); if (results.length > 0) { - if (this.state.open) { - this.style(); clearChildNode(this.element.list); this.populateList(results); - } else { - const body = document.querySelector('body'); this.style(); @@ -64,29 +58,21 @@ export const Suggest = function ({ this.bind.add(); this.state.open = true; - } - } else { - this.close(); - } - }; this.close = () => { - this.element.suggest.classList.remove('is-opaque'); this.element.suggest.classList.add('is-transparent'); - }; this.bind = {}; this.bind.input = () => { - this.element.input.addEventListener('focus', () => { clearTimeout(this.timer); this.timer = setTimeout(this.open, 300); @@ -96,47 +82,39 @@ export const Suggest = function ({ clearTimeout(this.timer); this.timer = setTimeout(this.open, 300); }); - }; this.bind.add = () => { - window.addEventListener('mouseup', this.clickOut); window.addEventListener('keydown', this.esc); window.addEventListener('keydown', this.navigateResults); - }; this.bind.remove = () => { - window.removeEventListener('mouseup', this.clickOut); window.removeEventListener('keydown', this.esc); window.removeEventListener('keydown', this.navigateResults); - }; this.style = () => { - const inputRect = input.getBoundingClientRect(); const box = { left: inputRect.left, top: inputRect.bottom + window.scrollY, - width: inputRect.width + width: inputRect.width, }; if (widthElement) { - const widthElementRect = widthElement.getBoundingClientRect(); box.width = widthElementRect.width; box.left = widthElementRect.left; - } this.element.suggest.style.setProperty('--suggest-top', box.top); @@ -144,29 +122,25 @@ export const Suggest = function ({ this.element.suggest.style.setProperty('--suggest-left', box.left); this.element.suggest.style.setProperty('--suggest-width', box.width); - }; this.assemble = () => { - const body = document.querySelector('body'); this.element.suggest.appendChild(this.element.list); this.element.suggest.addEventListener('transitionend', (event) => { - - if (event.propertyName === 'opacity' && getComputedStyle(this.element.suggest).opacity == 0) { - + if ( + event.propertyName === 'opacity' && + getComputedStyle(this.element.suggest).opacity == 0 + ) { body.removeChild(this.element.suggest); this.bind.remove(); this.state.open = false; - } - }); - }; this.searchTerm = () => { @@ -174,11 +148,9 @@ export const Suggest = function ({ }; this.populateList = (results) => { - const listType = { fontawesomeIcon: () => { const successAction = (suggestData) => { - this.close(); if (action) { @@ -188,11 +160,9 @@ export const Suggest = function ({ if (postFocus) { postFocus.focus(); } - }; results.forEach((item) => { - let li = node('li|class:suggest-list-item'); let resultItem = new Button({ @@ -201,7 +171,7 @@ export const Suggest = function ({ classList: ['suggest-item'], func: () => { successAction(item); - } + }, }); let icon = node('span|class:suggest-icon fa-' + item.name); @@ -221,13 +191,11 @@ export const Suggest = function ({ li.appendChild(resultItem.button); this.element.list.appendChild(li); - }); - } + }, }; listType[type](); - }; this.timer = false; @@ -236,11 +204,13 @@ export const Suggest = function ({ const suggestType = { fontawesomeIcon: (string) => { if (isValidString(string)) { - return fontawesome.filter((item) => { let match = false; - if (item.name.toLowerCase().includes(string) || item.label.toLowerCase().includes(string)) { + if ( + item.name.toLowerCase().includes(string) || + item.label.toLowerCase().includes(string) + ) { match = true; } @@ -258,47 +228,48 @@ export const Suggest = function ({ return match; }); - } else { return fontawesome; } - } + }, }; return suggestType[type](this.searchTerm()); }; this.navigateResults = (event) => { - let elementToFocus = null; let focusIndex = null; - const allSuggestItems = this.element.suggest.querySelectorAll('.suggest-item'); + const allSuggestItems = + this.element.suggest.querySelectorAll('.suggest-item'); - const columnCount = getComputedStyle(this.element.suggest.querySelector('.suggest-list')).getPropertyValue('grid-template-columns').split(' ').length; + const columnCount = getComputedStyle( + this.element.suggest.querySelector('.suggest-list') + ) + .getPropertyValue('grid-template-columns') + .split(' ').length; const findFocus = () => { - for (var i = 0; i < allSuggestItems.length; i++) { - if (allSuggestItems[i] == document.activeElement) { focusIndex = i; } - } - }; const keyEvents = () => { - // up if (event.keyCode == 38) { event.preventDefault(); if (focusIndex == null) { elementToFocus = allSuggestItems[allSuggestItems.length - 1]; } else { - if (focusIndex >= columnCount && focusIndex <= allSuggestItems.length - 1) { + if ( + focusIndex >= columnCount && + focusIndex <= allSuggestItems.length - 1 + ) { elementToFocus = allSuggestItems[focusIndex - columnCount]; } else { elementToFocus = input; @@ -349,25 +320,40 @@ export const Suggest = function ({ } // tab - if (!event.shiftKey && event.keyCode == 9 && document.activeElement == input) { + if ( + !event.shiftKey && + event.keyCode == 9 && + document.activeElement == input + ) { event.preventDefault(); elementToFocus = allSuggestItems[0]; } - if (!event.shiftKey && event.keyCode == 9 && document.activeElement == allSuggestItems[allSuggestItems.length - 1]) { + if ( + !event.shiftKey && + event.keyCode == 9 && + document.activeElement == allSuggestItems[allSuggestItems.length - 1] + ) { event.preventDefault(); elementToFocus = postFocus; this.close(); } // shift tab - if (event.shiftKey && event.keyCode == 9 && document.activeElement == allSuggestItems[0]) { + if ( + event.shiftKey && + event.keyCode == 9 && + document.activeElement == allSuggestItems[0] + ) { event.preventDefault(); elementToFocus = input; } - if (event.shiftKey && event.keyCode == 9 && document.activeElement == input) { + if ( + event.shiftKey && + event.keyCode == 9 && + document.activeElement == input + ) { this.close(); } - }; findFocus(); @@ -380,29 +366,25 @@ export const Suggest = function ({ }; this.clickOut = (event) => { - const path = event.path || (event.composedPath && event.composedPath()); - if (!path.includes(this.element.suggest) && !path.includes(this.element.input)) { + if ( + !path.includes(this.element.suggest) && + !path.includes(this.element.input) + ) { this.close(); } - }; this.esc = (event) => { - - if ((event.keyCode == 27)) { - + if (event.keyCode == 27) { event.preventDefault(); this.close(); - } - }; this.assemble(); this.bind.input(); - }; diff --git a/src/component/tab/index.css b/src/component/tab/index.css index a1484ed2..042614f1 100644 --- a/src/component/tab/index.css +++ b/src/component/tab/index.css @@ -20,7 +20,9 @@ .tab-nav { background-color: hsl(var(--theme-primary-020)); - border-radius: calc((var(--theme-radius) * 0.01em) + ((var(--tab-size) / 4) * 0.125em)); + border-radius: calc( + (var(--theme-radius) * 0.01em) + ((var(--tab-size) / 4) * 0.125em) + ); padding: calc((var(--tab-size) / 4) * 0.125em); grid-area: nav; display: flex; @@ -58,7 +60,9 @@ .tab-nav-button.active { background-color: transparent; color: hsl(var(--theme-accent-text)); - transition: background-color var(--layout-duration-01), border-color var(--layout-transition-extra-fast), color var(--layout-transition-extra-fast); + transition: background-color var(--layout-duration-01), + border-color var(--layout-transition-extra-fast), + color var(--layout-transition-extra-fast); } .tab-nav-indicator { @@ -76,7 +80,10 @@ .tab-nav-indicator-active .tab-nav-indicator { animation: none; - transition: top var(--layout-transition-extra-fast), left var(--layout-transition-extra-fast), width var(--layout-transition-extra-fast), height var(--layout-transition-extra-fast); + transition: top var(--layout-transition-extra-fast), + left var(--layout-transition-extra-fast), + width var(--layout-transition-extra-fast), + height var(--layout-transition-extra-fast); } .tab-content { diff --git a/src/component/tab/index.js b/src/component/tab/index.js index ec45f809..e120676e 100644 --- a/src/component/tab/index.js +++ b/src/component/tab/index.js @@ -4,20 +4,16 @@ import { node } from '../../utility/node'; import './index.css'; -export const Tab = function ({ - group = [] -} = {}) { - +export const Tab = function ({ group = [] } = {}) { this.element = { tab: node('div|class:tab'), nav: node('div|class:tab-nav'), group: node('div|class:tab-nav-group'), indicator: node('div|class:tab-nav-indicator'), - content: node('div|class:tab-content') + content: node('div|class:tab-content'), }; this.assemble = () => { - this.element.nav.appendChild(this.element.indicator); this.element.nav.appendChild(this.element.group); @@ -27,12 +23,10 @@ export const Tab = function ({ this.element.tab.appendChild(this.element.content); group.forEach((item) => { - item.toggle = new Button({ text: item.tabText, classList: ['tab-nav-button', 'form-group-item-equal'], func: () => { - this.deactive(); item.active = true; @@ -42,16 +36,13 @@ export const Tab = function ({ this.nav.render(); this.indicator.render(); - - } + }, }); this.element.group.appendChild(item.toggle.button); this.element.content.appendChild(item.area); - }); - }; this.deactive = () => { @@ -62,63 +53,60 @@ export const Tab = function ({ this.indicator = { render: () => { - const navBox = this.element.tab.getBoundingClientRect(); group.forEach((item) => { - if (item.active) { - const itemBox = item.toggle.button.getBoundingClientRect(); - this.element.tab.style.setProperty('--tab-indicator-top', Math.round(itemBox.top - navBox.top)); - this.element.tab.style.setProperty('--tab-indicator-left', Math.round(itemBox.left - navBox.left)); - this.element.tab.style.setProperty('--tab-indicator-width', Math.round(itemBox.width)); - this.element.tab.style.setProperty('--tab-indicator-height', Math.round(itemBox.height)); - - + this.element.tab.style.setProperty( + '--tab-indicator-top', + Math.round(itemBox.top - navBox.top) + ); + this.element.tab.style.setProperty( + '--tab-indicator-left', + Math.round(itemBox.left - navBox.left) + ); + this.element.tab.style.setProperty( + '--tab-indicator-width', + Math.round(itemBox.width) + ); + this.element.tab.style.setProperty( + '--tab-indicator-height', + Math.round(itemBox.height) + ); } - }); - }, bind: () => { - this.element.indicator.addEventListener('animationend', () => { this.element.tab.classList.add('tab-nav-indicator-active'); }); - - } + }, }; this.content = { render: () => { group.forEach((item) => { - if (item.active) { item.area.classList.remove('is-hidden'); } else { item.area.classList.add('is-hidden'); } - }); - } + }, }; this.nav = { render: () => { - group.forEach((item) => { - if (item.active) { item.toggle.active(); } else { item.toggle.deactive(); } - }); - - } + }, }; this.tab = () => { @@ -126,17 +114,14 @@ export const Tab = function ({ }; this.update = () => { - this.indicator.bind(); this.indicator.render(); this.nav.render(); - }; this.assemble(); this.content.render(); - }; diff --git a/src/component/theme/index.css b/src/component/theme/index.css index e9dbb970..db416753 100644 --- a/src/component/theme/index.css +++ b/src/component/theme/index.css @@ -7,8 +7,20 @@ } :root { - --theme-accent: var(--theme-accent-rgb-r), var(--theme-accent-rgb-g), var(--theme-accent-rgb-b); - --theme-accent-text: 0, 0%, calc(((((var(--theme-accent-rgb-r) * var(--theme-t-r)) + (var(--theme-accent-rgb-g) * var(--theme-t-g)) + (var(--theme-accent-rgb-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); + --theme-accent: var(--theme-accent-rgb-r), var(--theme-accent-rgb-g), + var(--theme-accent-rgb-b); + --theme-accent-text: 0, 0%, + calc( + ( + ( + ( + (var(--theme-accent-rgb-r) * var(--theme-t-r)) + + (var(--theme-accent-rgb-g) * var(--theme-t-g)) + + (var(--theme-accent-rgb-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); } :root { @@ -29,13 +41,31 @@ } :root { - --theme-background-gradient-start: var(--theme-background-gradient-start-rgb-r), var(--theme-background-gradient-start-rgb-g), var(--theme-background-gradient-start-rgb-b); - --theme-background-gradient-end: var(--theme-background-gradient-end-rgb-r), var(--theme-background-gradient-end-rgb-g), var(--theme-background-gradient-end-rgb-b); + --theme-background-gradient-start: var( + --theme-background-gradient-start-rgb-r + ), + var(--theme-background-gradient-start-rgb-g), + var(--theme-background-gradient-start-rgb-b); + --theme-background-gradient-end: var(--theme-background-gradient-end-rgb-r), + var(--theme-background-gradient-end-rgb-g), + var(--theme-background-gradient-end-rgb-b); } :root { - --theme-background-color: var(--theme-background-color-rgb-r), var(--theme-background-color-rgb-g), var(--theme-background-color-rgb-b); - --theme-background-color-text: 0, 0%, calc(((((var(--theme-background-color-rgb-r) * var(--theme-t-r)) + (var(--theme-background-color-rgb-g) * var(--theme-t-g)) + (var(--theme-background-color-rgb-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); + --theme-background-color: var(--theme-background-color-rgb-r), + var(--theme-background-color-rgb-g), var(--theme-background-color-rgb-b); + --theme-background-color-text: 0, 0%, + calc( + ( + ( + ( + (var(--theme-background-color-rgb-r) * var(--theme-t-r)) + + (var(--theme-background-color-rgb-g) * var(--theme-t-g)) + + (var(--theme-background-color-rgb-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); } .is-theme-style-light { @@ -73,37 +103,345 @@ } .is-theme-style-light { - --theme-primary-text-010: 0, 0%, calc(((((var(--theme-primary-14-r) * var(--theme-t-r)) + (var(--theme-primary-14-g) * var(--theme-t-g)) + (var(--theme-primary-14-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-020: 0, 0%, calc(((((var(--theme-primary-13-r) * var(--theme-t-r)) + (var(--theme-primary-13-g) * var(--theme-t-g)) + (var(--theme-primary-13-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-030: 0, 0%, calc(((((var(--theme-primary-12-r) * var(--theme-t-r)) + (var(--theme-primary-12-g) * var(--theme-t-g)) + (var(--theme-primary-12-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-040: 0, 0%, calc(((((var(--theme-primary-11-r) * var(--theme-t-r)) + (var(--theme-primary-11-g) * var(--theme-t-g)) + (var(--theme-primary-11-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-050: 0, 0%, calc(((((var(--theme-primary-10-r) * var(--theme-t-r)) + (var(--theme-primary-10-g) * var(--theme-t-g)) + (var(--theme-primary-10-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-060: 0, 0%, calc(((((var(--theme-primary-9-r) * var(--theme-t-r)) + (var(--theme-primary-9-g) * var(--theme-t-g)) + (var(--theme-primary-9-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-070: 0, 0%, calc(((((var(--theme-primary-8-r) * var(--theme-t-r)) + (var(--theme-primary-8-g) * var(--theme-t-g)) + (var(--theme-primary-8-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-080: 0, 0%, calc(((((var(--theme-primary-7-r) * var(--theme-t-r)) + (var(--theme-primary-7-g) * var(--theme-t-g)) + (var(--theme-primary-7-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-090: 0, 0%, calc(((((var(--theme-primary-6-r) * var(--theme-t-r)) + (var(--theme-primary-6-g) * var(--theme-t-g)) + (var(--theme-primary-6-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-100: 0, 0%, calc(((((var(--theme-primary-5-r) * var(--theme-t-r)) + (var(--theme-primary-5-g) * var(--theme-t-g)) + (var(--theme-primary-5-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-110: 0, 0%, calc(((((var(--theme-primary-4-r) * var(--theme-t-r)) + (var(--theme-primary-4-g) * var(--theme-t-g)) + (var(--theme-primary-4-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-120: 0, 0%, calc(((((var(--theme-primary-3-r) * var(--theme-t-r)) + (var(--theme-primary-3-g) * var(--theme-t-g)) + (var(--theme-primary-3-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-130: 0, 0%, calc(((((var(--theme-primary-2-r) * var(--theme-t-r)) + (var(--theme-primary-2-g) * var(--theme-t-g)) + (var(--theme-primary-2-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-140: 0, 0%, calc(((((var(--theme-primary-1-r) * var(--theme-t-r)) + (var(--theme-primary-1-g) * var(--theme-t-g)) + (var(--theme-primary-1-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); + --theme-primary-text-010: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-14-r) * var(--theme-t-r)) + + (var(--theme-primary-14-g) * var(--theme-t-g)) + + (var(--theme-primary-14-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-020: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-13-r) * var(--theme-t-r)) + + (var(--theme-primary-13-g) * var(--theme-t-g)) + + (var(--theme-primary-13-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-030: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-12-r) * var(--theme-t-r)) + + (var(--theme-primary-12-g) * var(--theme-t-g)) + + (var(--theme-primary-12-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-040: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-11-r) * var(--theme-t-r)) + + (var(--theme-primary-11-g) * var(--theme-t-g)) + + (var(--theme-primary-11-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-050: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-10-r) * var(--theme-t-r)) + + (var(--theme-primary-10-g) * var(--theme-t-g)) + + (var(--theme-primary-10-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-060: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-9-r) * var(--theme-t-r)) + + (var(--theme-primary-9-g) * var(--theme-t-g)) + + (var(--theme-primary-9-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-070: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-8-r) * var(--theme-t-r)) + + (var(--theme-primary-8-g) * var(--theme-t-g)) + + (var(--theme-primary-8-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-080: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-7-r) * var(--theme-t-r)) + + (var(--theme-primary-7-g) * var(--theme-t-g)) + + (var(--theme-primary-7-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-090: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-6-r) * var(--theme-t-r)) + + (var(--theme-primary-6-g) * var(--theme-t-g)) + + (var(--theme-primary-6-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-100: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-5-r) * var(--theme-t-r)) + + (var(--theme-primary-5-g) * var(--theme-t-g)) + + (var(--theme-primary-5-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-110: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-4-r) * var(--theme-t-r)) + + (var(--theme-primary-4-g) * var(--theme-t-g)) + + (var(--theme-primary-4-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-120: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-3-r) * var(--theme-t-r)) + + (var(--theme-primary-3-g) * var(--theme-t-g)) + + (var(--theme-primary-3-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-130: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-2-r) * var(--theme-t-r)) + + (var(--theme-primary-2-g) * var(--theme-t-g)) + + (var(--theme-primary-2-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-140: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-1-r) * var(--theme-t-r)) + + (var(--theme-primary-1-g) * var(--theme-t-g)) + + (var(--theme-primary-1-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); } .is-theme-style-dark { - --theme-primary-text-010: 0, 0%, calc(((((var(--theme-primary-1-r) * var(--theme-t-r)) + (var(--theme-primary-1-g) * var(--theme-t-g)) + (var(--theme-primary-1-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-020: 0, 0%, calc(((((var(--theme-primary-2-r) * var(--theme-t-r)) + (var(--theme-primary-2-g) * var(--theme-t-g)) + (var(--theme-primary-2-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-030: 0, 0%, calc(((((var(--theme-primary-3-r) * var(--theme-t-r)) + (var(--theme-primary-3-g) * var(--theme-t-g)) + (var(--theme-primary-3-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-040: 0, 0%, calc(((((var(--theme-primary-4-r) * var(--theme-t-r)) + (var(--theme-primary-4-g) * var(--theme-t-g)) + (var(--theme-primary-4-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-050: 0, 0%, calc(((((var(--theme-primary-5-r) * var(--theme-t-r)) + (var(--theme-primary-5-g) * var(--theme-t-g)) + (var(--theme-primary-5-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-060: 0, 0%, calc(((((var(--theme-primary-6-r) * var(--theme-t-r)) + (var(--theme-primary-6-g) * var(--theme-t-g)) + (var(--theme-primary-6-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-070: 0, 0%, calc(((((var(--theme-primary-7-r) * var(--theme-t-r)) + (var(--theme-primary-7-g) * var(--theme-t-g)) + (var(--theme-primary-7-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-080: 0, 0%, calc(((((var(--theme-primary-8-r) * var(--theme-t-r)) + (var(--theme-primary-8-g) * var(--theme-t-g)) + (var(--theme-primary-8-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-090: 0, 0%, calc(((((var(--theme-primary-9-r) * var(--theme-t-r)) + (var(--theme-primary-9-g) * var(--theme-t-g)) + (var(--theme-primary-9-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-100: 0, 0%, calc(((((var(--theme-primary-10-r) * var(--theme-t-r)) + (var(--theme-primary-10-g) * var(--theme-t-g)) + (var(--theme-primary-10-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-110: 0, 0%, calc(((((var(--theme-primary-11-r) * var(--theme-t-r)) + (var(--theme-primary-11-g) * var(--theme-t-g)) + (var(--theme-primary-11-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-120: 0, 0%, calc(((((var(--theme-primary-12-r) * var(--theme-t-r)) + (var(--theme-primary-12-g) * var(--theme-t-g)) + (var(--theme-primary-12-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-130: 0, 0%, calc(((((var(--theme-primary-13-r) * var(--theme-t-r)) + (var(--theme-primary-13-g) * var(--theme-t-g)) + (var(--theme-primary-13-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-140: 0, 0%, calc(((((var(--theme-primary-14-r) * var(--theme-t-r)) + (var(--theme-primary-14-g) * var(--theme-t-g)) + (var(--theme-primary-14-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); + --theme-primary-text-010: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-1-r) * var(--theme-t-r)) + + (var(--theme-primary-1-g) * var(--theme-t-g)) + + (var(--theme-primary-1-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-020: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-2-r) * var(--theme-t-r)) + + (var(--theme-primary-2-g) * var(--theme-t-g)) + + (var(--theme-primary-2-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-030: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-3-r) * var(--theme-t-r)) + + (var(--theme-primary-3-g) * var(--theme-t-g)) + + (var(--theme-primary-3-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-040: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-4-r) * var(--theme-t-r)) + + (var(--theme-primary-4-g) * var(--theme-t-g)) + + (var(--theme-primary-4-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-050: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-5-r) * var(--theme-t-r)) + + (var(--theme-primary-5-g) * var(--theme-t-g)) + + (var(--theme-primary-5-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-060: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-6-r) * var(--theme-t-r)) + + (var(--theme-primary-6-g) * var(--theme-t-g)) + + (var(--theme-primary-6-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-070: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-7-r) * var(--theme-t-r)) + + (var(--theme-primary-7-g) * var(--theme-t-g)) + + (var(--theme-primary-7-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-080: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-8-r) * var(--theme-t-r)) + + (var(--theme-primary-8-g) * var(--theme-t-g)) + + (var(--theme-primary-8-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-090: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-9-r) * var(--theme-t-r)) + + (var(--theme-primary-9-g) * var(--theme-t-g)) + + (var(--theme-primary-9-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-100: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-10-r) * var(--theme-t-r)) + + (var(--theme-primary-10-g) * var(--theme-t-g)) + + (var(--theme-primary-10-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-110: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-11-r) * var(--theme-t-r)) + + (var(--theme-primary-11-g) * var(--theme-t-g)) + + (var(--theme-primary-11-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-120: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-12-r) * var(--theme-t-r)) + + (var(--theme-primary-12-g) * var(--theme-t-g)) + + (var(--theme-primary-12-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-130: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-13-r) * var(--theme-t-r)) + + (var(--theme-primary-13-g) * var(--theme-t-g)) + + (var(--theme-primary-13-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-140: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-14-r) * var(--theme-t-r)) + + (var(--theme-primary-14-g) * var(--theme-t-g)) + + (var(--theme-primary-14-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); } @media (prefers-color-scheme: light) { @@ -125,20 +463,174 @@ } .is-theme-style-system { - --theme-primary-text-010: 0, 0%, calc(((((var(--theme-primary-14-r) * var(--theme-t-r)) + (var(--theme-primary-14-g) * var(--theme-t-g)) + (var(--theme-primary-14-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-020: 0, 0%, calc(((((var(--theme-primary-13-r) * var(--theme-t-r)) + (var(--theme-primary-13-g) * var(--theme-t-g)) + (var(--theme-primary-13-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-030: 0, 0%, calc(((((var(--theme-primary-12-r) * var(--theme-t-r)) + (var(--theme-primary-12-g) * var(--theme-t-g)) + (var(--theme-primary-12-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-040: 0, 0%, calc(((((var(--theme-primary-11-r) * var(--theme-t-r)) + (var(--theme-primary-11-g) * var(--theme-t-g)) + (var(--theme-primary-11-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-050: 0, 0%, calc(((((var(--theme-primary-10-r) * var(--theme-t-r)) + (var(--theme-primary-10-g) * var(--theme-t-g)) + (var(--theme-primary-10-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-060: 0, 0%, calc(((((var(--theme-primary-9-r) * var(--theme-t-r)) + (var(--theme-primary-9-g) * var(--theme-t-g)) + (var(--theme-primary-9-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-070: 0, 0%, calc(((((var(--theme-primary-8-r) * var(--theme-t-r)) + (var(--theme-primary-8-g) * var(--theme-t-g)) + (var(--theme-primary-8-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-080: 0, 0%, calc(((((var(--theme-primary-7-r) * var(--theme-t-r)) + (var(--theme-primary-7-g) * var(--theme-t-g)) + (var(--theme-primary-7-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-090: 0, 0%, calc(((((var(--theme-primary-6-r) * var(--theme-t-r)) + (var(--theme-primary-6-g) * var(--theme-t-g)) + (var(--theme-primary-6-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-100: 0, 0%, calc(((((var(--theme-primary-5-r) * var(--theme-t-r)) + (var(--theme-primary-5-g) * var(--theme-t-g)) + (var(--theme-primary-5-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-110: 0, 0%, calc(((((var(--theme-primary-4-r) * var(--theme-t-r)) + (var(--theme-primary-4-g) * var(--theme-t-g)) + (var(--theme-primary-4-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-120: 0, 0%, calc(((((var(--theme-primary-3-r) * var(--theme-t-r)) + (var(--theme-primary-3-g) * var(--theme-t-g)) + (var(--theme-primary-3-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-130: 0, 0%, calc(((((var(--theme-primary-2-r) * var(--theme-t-r)) + (var(--theme-primary-2-g) * var(--theme-t-g)) + (var(--theme-primary-2-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-140: 0, 0%, calc(((((var(--theme-primary-1-r) * var(--theme-t-r)) + (var(--theme-primary-1-g) * var(--theme-t-g)) + (var(--theme-primary-1-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); + --theme-primary-text-010: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-14-r) * var(--theme-t-r)) + + (var(--theme-primary-14-g) * var(--theme-t-g)) + + (var(--theme-primary-14-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-020: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-13-r) * var(--theme-t-r)) + + (var(--theme-primary-13-g) * var(--theme-t-g)) + + (var(--theme-primary-13-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-030: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-12-r) * var(--theme-t-r)) + + (var(--theme-primary-12-g) * var(--theme-t-g)) + + (var(--theme-primary-12-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-040: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-11-r) * var(--theme-t-r)) + + (var(--theme-primary-11-g) * var(--theme-t-g)) + + (var(--theme-primary-11-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-050: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-10-r) * var(--theme-t-r)) + + (var(--theme-primary-10-g) * var(--theme-t-g)) + + (var(--theme-primary-10-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-060: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-9-r) * var(--theme-t-r)) + + (var(--theme-primary-9-g) * var(--theme-t-g)) + + (var(--theme-primary-9-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-070: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-8-r) * var(--theme-t-r)) + + (var(--theme-primary-8-g) * var(--theme-t-g)) + + (var(--theme-primary-8-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-080: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-7-r) * var(--theme-t-r)) + + (var(--theme-primary-7-g) * var(--theme-t-g)) + + (var(--theme-primary-7-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-090: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-6-r) * var(--theme-t-r)) + + (var(--theme-primary-6-g) * var(--theme-t-g)) + + (var(--theme-primary-6-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-100: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-5-r) * var(--theme-t-r)) + + (var(--theme-primary-5-g) * var(--theme-t-g)) + + (var(--theme-primary-5-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-110: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-4-r) * var(--theme-t-r)) + + (var(--theme-primary-4-g) * var(--theme-t-g)) + + (var(--theme-primary-4-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-120: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-3-r) * var(--theme-t-r)) + + (var(--theme-primary-3-g) * var(--theme-t-g)) + + (var(--theme-primary-3-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-130: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-2-r) * var(--theme-t-r)) + + (var(--theme-primary-2-g) * var(--theme-t-g)) + + (var(--theme-primary-2-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-140: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-1-r) * var(--theme-t-r)) + + (var(--theme-primary-1-g) * var(--theme-t-g)) + + (var(--theme-primary-1-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); } } @@ -161,20 +653,174 @@ } .is-theme-style-system { - --theme-primary-text-010: 0, 0%, calc(((((var(--theme-primary-1-r) * var(--theme-t-r)) + (var(--theme-primary-1-g) * var(--theme-t-g)) + (var(--theme-primary-1-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-020: 0, 0%, calc(((((var(--theme-primary-2-r) * var(--theme-t-r)) + (var(--theme-primary-2-g) * var(--theme-t-g)) + (var(--theme-primary-2-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-030: 0, 0%, calc(((((var(--theme-primary-3-r) * var(--theme-t-r)) + (var(--theme-primary-3-g) * var(--theme-t-g)) + (var(--theme-primary-3-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-040: 0, 0%, calc(((((var(--theme-primary-4-r) * var(--theme-t-r)) + (var(--theme-primary-4-g) * var(--theme-t-g)) + (var(--theme-primary-4-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-050: 0, 0%, calc(((((var(--theme-primary-5-r) * var(--theme-t-r)) + (var(--theme-primary-5-g) * var(--theme-t-g)) + (var(--theme-primary-5-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-060: 0, 0%, calc(((((var(--theme-primary-6-r) * var(--theme-t-r)) + (var(--theme-primary-6-g) * var(--theme-t-g)) + (var(--theme-primary-6-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-070: 0, 0%, calc(((((var(--theme-primary-7-r) * var(--theme-t-r)) + (var(--theme-primary-7-g) * var(--theme-t-g)) + (var(--theme-primary-7-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-080: 0, 0%, calc(((((var(--theme-primary-8-r) * var(--theme-t-r)) + (var(--theme-primary-8-g) * var(--theme-t-g)) + (var(--theme-primary-8-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-090: 0, 0%, calc(((((var(--theme-primary-9-r) * var(--theme-t-r)) + (var(--theme-primary-9-g) * var(--theme-t-g)) + (var(--theme-primary-9-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-100: 0, 0%, calc(((((var(--theme-primary-10-r) * var(--theme-t-r)) + (var(--theme-primary-10-g) * var(--theme-t-g)) + (var(--theme-primary-10-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-110: 0, 0%, calc(((((var(--theme-primary-11-r) * var(--theme-t-r)) + (var(--theme-primary-11-g) * var(--theme-t-g)) + (var(--theme-primary-11-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-120: 0, 0%, calc(((((var(--theme-primary-12-r) * var(--theme-t-r)) + (var(--theme-primary-12-g) * var(--theme-t-g)) + (var(--theme-primary-12-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-130: 0, 0%, calc(((((var(--theme-primary-13-r) * var(--theme-t-r)) + (var(--theme-primary-13-g) * var(--theme-t-g)) + (var(--theme-primary-13-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); - --theme-primary-text-140: 0, 0%, calc(((((var(--theme-primary-14-r) * var(--theme-t-r)) + (var(--theme-primary-14-g) * var(--theme-t-g)) + (var(--theme-primary-14-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%); + --theme-primary-text-010: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-1-r) * var(--theme-t-r)) + + (var(--theme-primary-1-g) * var(--theme-t-g)) + + (var(--theme-primary-1-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-020: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-2-r) * var(--theme-t-r)) + + (var(--theme-primary-2-g) * var(--theme-t-g)) + + (var(--theme-primary-2-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-030: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-3-r) * var(--theme-t-r)) + + (var(--theme-primary-3-g) * var(--theme-t-g)) + + (var(--theme-primary-3-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-040: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-4-r) * var(--theme-t-r)) + + (var(--theme-primary-4-g) * var(--theme-t-g)) + + (var(--theme-primary-4-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-050: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-5-r) * var(--theme-t-r)) + + (var(--theme-primary-5-g) * var(--theme-t-g)) + + (var(--theme-primary-5-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-060: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-6-r) * var(--theme-t-r)) + + (var(--theme-primary-6-g) * var(--theme-t-g)) + + (var(--theme-primary-6-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-070: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-7-r) * var(--theme-t-r)) + + (var(--theme-primary-7-g) * var(--theme-t-g)) + + (var(--theme-primary-7-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-080: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-8-r) * var(--theme-t-r)) + + (var(--theme-primary-8-g) * var(--theme-t-g)) + + (var(--theme-primary-8-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-090: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-9-r) * var(--theme-t-r)) + + (var(--theme-primary-9-g) * var(--theme-t-g)) + + (var(--theme-primary-9-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-100: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-10-r) * var(--theme-t-r)) + + (var(--theme-primary-10-g) * var(--theme-t-g)) + + (var(--theme-primary-10-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-110: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-11-r) * var(--theme-t-r)) + + (var(--theme-primary-11-g) * var(--theme-t-g)) + + (var(--theme-primary-11-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-120: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-12-r) * var(--theme-t-r)) + + (var(--theme-primary-12-g) * var(--theme-t-g)) + + (var(--theme-primary-12-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-130: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-13-r) * var(--theme-t-r)) + + (var(--theme-primary-13-g) * var(--theme-t-g)) + + (var(--theme-primary-13-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); + --theme-primary-text-140: 0, 0%, + calc( + ( + ( + ( + (var(--theme-primary-14-r) * var(--theme-t-r)) + + (var(--theme-primary-14-g) * var(--theme-t-g)) + + (var(--theme-primary-14-b) * var(--theme-t-b)) + ) / 255 + ) - var(--theme-t) + ) * -10000000% + ); } } @@ -184,41 +830,354 @@ --theme-shadow-size-medium: calc(calc(var(--theme-shadow) / 100) * 2); --theme-shadow-size-large: calc(calc(var(--theme-shadow) / 100) * 3); --theme-shadow-offset-base: 20; - --theme-shadow-offset-y: calc(calc(var(--theme-shadow-offset-base) / 1000) * 1em); + --theme-shadow-offset-y: calc( + calc(var(--theme-shadow-offset-base) / 1000) * 1em + ); --theme-shadow-blur-base: 30; --theme-shadow-blur: calc(calc(var(--theme-shadow-blur-base) / 1000) * 1em); --theme-shadow-opacity-base: 20; --theme-shadow-opacity: calc(var(--theme-shadow-opacity-base) / 1000); - --theme-shadow-bottom-small: - 0 calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-offset-y) * 2)) calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 4)) rgba(0, 0, 0, calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 1))), - 0 calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-offset-y) * 4)) calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 8)) rgba(0, 0, 0, calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 2))), - 0 calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-offset-y) * 8)) calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 16)) rgba(0, 0, 0, calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 3))), - 0 calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-offset-y) * 16)) calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 32)) rgba(0, 0, 0, calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 4))); - --theme-shadow-bottom-medium: - 0 calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-offset-y) * 2)) calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 4)) rgba(0, 0, 0, calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-opacity) * 1))), - 0 calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-offset-y) * 4)) calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 8)) rgba(0, 0, 0, calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-opacity) * 2))), - 0 calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-offset-y) * 8)) calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 16)) rgba(0, 0, 0, calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-opacity) * 3))), - 0 calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-offset-y) * 16)) calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 32)) rgba(0, 0, 0, calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-opacity) * 4))); - --theme-shadow-bottom-large: - 0 calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-offset-y) * 2)) calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 4)) rgba(0, 0, 0, calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 1))), - 0 calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-offset-y) * 4)) calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 8)) rgba(0, 0, 0, calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 2))), - 0 calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-offset-y) * 8)) calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 16)) rgba(0, 0, 0, calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 3))), - 0 calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-offset-y) * 16)) calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 32)) rgba(0, 0, 0, calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 4))); - --theme-shadow-top-small: - 0 calc(var(--theme-shadow-size-small) * calc(calc(var(--theme-shadow-offset-y) * -1) * 2)) calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 4)) rgba(0, 0, 0, calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 1))), - 0 calc(var(--theme-shadow-size-small) * calc(calc(var(--theme-shadow-offset-y) * -1) * 4)) calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 8)) rgba(0, 0, 0, calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 2))), - 0 calc(var(--theme-shadow-size-small) * calc(calc(var(--theme-shadow-offset-y) * -1) * 8)) calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 16)) rgba(0, 0, 0, calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 3))), - 0 calc(var(--theme-shadow-size-small) * calc(calc(var(--theme-shadow-offset-y) * -1) * 16)) calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 32)) rgba(0, 0, 0, calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 4))); - --theme-shadow-top-medium: - 0 calc(var(--theme-shadow-size-medium) * calc(calc(var(--theme-shadow-offset-y) * -1) * 2)) calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 4)) rgba(0, 0, 0, calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-opacity) * 1))), - 0 calc(var(--theme-shadow-size-medium) * calc(calc(var(--theme-shadow-offset-y) * -1) * 4)) calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 8)) rgba(0, 0, 0, calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-opacity) * 2))), - 0 calc(var(--theme-shadow-size-medium) * calc(calc(var(--theme-shadow-offset-y) * -1) * 8)) calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 16)) rgba(0, 0, 0, calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-opacity) * 3))), - 0 calc(var(--theme-shadow-size-medium) * calc(calc(var(--theme-shadow-offset-y) * -1) * 16)) calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 32)) rgba(0, 0, 0, calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-opacity) * 4))); - --theme-shadow-top-large: - 0 calc(var(--theme-shadow-size-large) * calc(calc(var(--theme-shadow-offset-y) * -1) * 2)) calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 4)) rgba(0, 0, 0, calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 1))), - 0 calc(var(--theme-shadow-size-large) * calc(calc(var(--theme-shadow-offset-y) * -1) * 4)) calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 8)) rgba(0, 0, 0, calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 2))), - 0 calc(var(--theme-shadow-size-large) * calc(calc(var(--theme-shadow-offset-y) * -1) * 8)) calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 16)) rgba(0, 0, 0, calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 3))), - 0 calc(var(--theme-shadow-size-large) * calc(calc(var(--theme-shadow-offset-y) * -1) * 16)) calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 32)) rgba(0, 0, 0, calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 4))); + --theme-shadow-bottom-small: 0 + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-offset-y) * 2) + ) + calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 4)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 1) + ) + ), + 0 + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-offset-y) * 4) + ) + calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 8)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 2) + ) + ), + 0 + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-offset-y) * 8) + ) + calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 16)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 3) + ) + ), + 0 + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-offset-y) * 16) + ) + calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 32)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 4) + ) + ); + --theme-shadow-bottom-medium: 0 + calc( + var(--theme-shadow-size-medium) * calc(var(--theme-shadow-offset-y) * 2) + ) + calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 4)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-opacity) * 1) + ) + ), + 0 + calc( + var(--theme-shadow-size-medium) * calc(var(--theme-shadow-offset-y) * 4) + ) + calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 8)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-opacity) * 2) + ) + ), + 0 + calc( + var(--theme-shadow-size-medium) * calc(var(--theme-shadow-offset-y) * 8) + ) + calc( + var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 16) + ) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-opacity) * 3) + ) + ), + 0 + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-offset-y) * 16) + ) + calc( + var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 32) + ) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-opacity) * 4) + ) + ); + --theme-shadow-bottom-large: 0 + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-offset-y) * 2) + ) + calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 4)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 1) + ) + ), + 0 + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-offset-y) * 4) + ) + calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 8)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 2) + ) + ), + 0 + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-offset-y) * 8) + ) + calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 16)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 3) + ) + ), + 0 + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-offset-y) * 16) + ) + calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 32)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 4) + ) + ); + --theme-shadow-top-small: 0 + calc( + var(--theme-shadow-size-small) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 2) + ) + calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 4)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 1) + ) + ), + 0 + calc( + var(--theme-shadow-size-small) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 4) + ) + calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 8)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 2) + ) + ), + 0 + calc( + var(--theme-shadow-size-small) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 8) + ) + calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 16)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 3) + ) + ), + 0 + calc( + var(--theme-shadow-size-small) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 16) + ) + calc(var(--theme-shadow-size-small) * calc(var(--theme-shadow-blur) * 32)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-small) * calc(var(--theme-shadow-opacity) * 4) + ) + ); + --theme-shadow-top-medium: 0 + calc( + var(--theme-shadow-size-medium) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 2) + ) + calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 4)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-opacity) * 1) + ) + ), + 0 + calc( + var(--theme-shadow-size-medium) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 4) + ) + calc(var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 8)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-opacity) * 2) + ) + ), + 0 + calc( + var(--theme-shadow-size-medium) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 8) + ) + calc( + var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 16) + ) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-opacity) * 3) + ) + ), + 0 + calc( + var(--theme-shadow-size-medium) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 16) + ) + calc( + var(--theme-shadow-size-medium) * calc(var(--theme-shadow-blur) * 32) + ) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-medium) * + calc(var(--theme-shadow-opacity) * 4) + ) + ); + --theme-shadow-top-large: 0 + calc( + var(--theme-shadow-size-large) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 2) + ) + calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 4)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 1) + ) + ), + 0 + calc( + var(--theme-shadow-size-large) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 4) + ) + calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 8)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 2) + ) + ), + 0 + calc( + var(--theme-shadow-size-large) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 8) + ) + calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 16)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 3) + ) + ), + 0 + calc( + var(--theme-shadow-size-large) * + calc(calc(var(--theme-shadow-offset-y) * -1) * 16) + ) + calc(var(--theme-shadow-size-large) * calc(var(--theme-shadow-blur) * 32)) + rgba( + 0, + 0, + 0, + calc( + var(--theme-shadow-size-large) * calc(var(--theme-shadow-opacity) * 4) + ) + ); } .theme-color-box { @@ -319,7 +1278,8 @@ pointer-events: none; display: block; opacity: 0; - transition: background-color var(--layout-transition-extra-fast), opacity var(--layout-transition-medium); + transition: background-color var(--layout-transition-extra-fast), + opacity var(--layout-transition-medium); } .theme-background-type-theme { @@ -335,7 +1295,11 @@ } .theme-background-type-gradient { - background-image: linear-gradient(calc(var(--theme-background-gradient-angle) * 1deg), rgb(var(--theme-background-gradient-start)), rgb(var(--theme-background-gradient-end))); + background-image: linear-gradient( + calc(var(--theme-background-gradient-angle) * 1deg), + rgb(var(--theme-background-gradient-start)), + rgb(var(--theme-background-gradient-end)) + ); } .theme-background-type-image-wrap { @@ -350,12 +1314,21 @@ background-size: cover; background-position: center; opacity: calc(var(--theme-background-image-opacity) / 100); - transform: scale(calc(calc(var(--theme-background-image-scale) / 100) + calc(var(--theme-background-image-blur) / 400))); - filter: blur(calc(var(--theme-background-image-blur) * 1px)) grayscale(calc(var(--theme-background-image-grayscale) / 100)); + transform: scale( + calc( + calc(var(--theme-background-image-scale) / 100) + + calc(var(--theme-background-image-blur) / 400) + ) + ); + filter: blur(calc(var(--theme-background-image-blur) * 1px)) + grayscale(calc(var(--theme-background-image-grayscale) / 100)); } .theme-background-type-image-accent { - background-color: rgba(var(--theme-accent), calc(var(--theme-background-image-accent) / 100)); + background-color: rgba( + var(--theme-accent), + calc(var(--theme-background-image-accent) / 100) + ); position: absolute; top: 0; left: 0; @@ -371,9 +1344,12 @@ width: calc(100vw + 2em); height: calc(100vh + 2em); pointer-events: none; - background-image: radial-gradient(circle, - transparent calc(var(--theme-background-image-vignette-end) * 1%), - rgba(0, 0, 0, calc(var(--theme-background-image-vignette-opacity) / 100)) calc(var(--theme-background-image-vignette-start) * 1%)); + background-image: radial-gradient( + circle, + transparent calc(var(--theme-background-image-vignette-end) * 1%), + rgba(0, 0, 0, calc(var(--theme-background-image-vignette-opacity) / 100)) + calc(var(--theme-background-image-vignette-start) * 1%) + ); z-index: 3; } @@ -385,12 +1361,21 @@ height: 100%; z-index: 1; opacity: calc(var(--theme-background-video-opacity) / 100); - transform: scale(calc(calc(var(--theme-background-video-scale) / 100) + calc(var(--theme-background-video-blur) / 400))); - filter: blur(calc(var(--theme-background-video-blur) * 1px)) grayscale(calc(var(--theme-background-video-grayscale) / 100)); + transform: scale( + calc( + calc(var(--theme-background-video-scale) / 100) + + calc(var(--theme-background-video-blur) / 400) + ) + ); + filter: blur(calc(var(--theme-background-video-blur) * 1px)) + grayscale(calc(var(--theme-background-video-grayscale) / 100)); } .theme-background-type-video-accent { - background-color: rgba(var(--theme-accent), calc(var(--theme-background-video-accent) / 100)); + background-color: rgba( + var(--theme-accent), + calc(var(--theme-background-video-accent) / 100) + ); position: absolute; top: 0; left: 0; @@ -406,9 +1391,12 @@ width: calc(100vw + 2em); height: calc(100vh + 2em); pointer-events: none; - background-image: radial-gradient(circle, - transparent calc(var(--theme-background-video-vignette-end) * 1%), - rgba(0, 0, 0, calc(var(--theme-background-video-vignette-opacity) * 1%)) calc(var(--theme-background-video-vignette-start) * 1%)); + background-image: radial-gradient( + circle, + transparent calc(var(--theme-background-video-vignette-end) * 1%), + rgba(0, 0, 0, calc(var(--theme-background-video-vignette-opacity) * 1%)) + calc(var(--theme-background-video-vignette-start) * 1%) + ); z-index: 3; } @@ -426,4 +1414,4 @@ .is-theme-background-type-image .theme-background-type-image, .is-theme-background-type-video .theme-background-type-video { opacity: 1; -} \ No newline at end of file +} diff --git a/src/component/theme/index.js b/src/component/theme/index.js index ab55dae5..6dbf1157 100644 --- a/src/component/theme/index.js +++ b/src/component/theme/index.js @@ -29,100 +29,103 @@ theme.font = {}; theme.font.display = { timer: false, delay: () => { - clearTimeout(theme.font.display.timer); theme.font.display.timer = setTimeout(theme.font.display.load, 600); - }, load: () => { - const displayFont = trimString(state.get.current().theme.font.display.name); if (isValidString(displayFont)) { - WebFont.load({ // fontloading: (familyName, fvd) => { console.log('fontloading:', familyName); }, - google: { families: [trimString(displayFont) + ':100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'] } + google: { + families: [ + trimString(displayFont) + + ':100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i', + ], + }, }); - } theme.font.display.render(); - }, render: () => { - const html = document.querySelector('html'); - if (isValidString(trimString(state.get.current().theme.font.display.name))) { - - html.style.setProperty('--theme-font-display-name', '"' + trimString(state.get.current().theme.font.display.name) + '", "Fjalla One", sans-serif'); - + if ( + isValidString(trimString(state.get.current().theme.font.display.name)) + ) { + html.style.setProperty( + '--theme-font-display-name', + '"' + + trimString(state.get.current().theme.font.display.name) + + '", "Fjalla One", sans-serif' + ); } else { - html.style.removeProperty('--theme-font-display-name'); - } - - } + }, }; theme.font.ui = { timer: false, delay: () => { - clearTimeout(theme.font.ui.timer); theme.font.ui.timer = setTimeout(theme.font.ui.load, 600); - }, load: () => { - const uiFont = trimString(state.get.current().theme.font.ui.name); if (isValidString(uiFont)) { - WebFont.load({ // fontloading: (familyName, fvd) => { console.log('fontloading:', familyName); }, - google: { families: [trimString(uiFont) + ':100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'] } + google: { + families: [ + trimString(uiFont) + + ':100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i', + ], + }, }); - } theme.font.ui.render(); - }, render: () => { - const html = document.querySelector('html'); if (isValidString(trimString(state.get.current().theme.font.ui.name))) { - - html.style.setProperty('--theme-font-ui-name', '"' + trimString(state.get.current().theme.font.ui.name) + '", "Open Sans", sans-serif'); - + html.style.setProperty( + '--theme-font-ui-name', + '"' + + trimString(state.get.current().theme.font.ui.name) + + '", "Open Sans", sans-serif' + ); } else { - html.style.removeProperty('--theme-font-ui-name'); - } - - } + }, }; theme.color = { render: () => { const html = document.querySelector('html'); - let shades = (state.get.current().theme.color.contrast.end - state.get.current().theme.color.contrast.start) / (state.get.current().theme.color.shades - 1); + let shades = + (state.get.current().theme.color.contrast.end - + state.get.current().theme.color.contrast.start) / + (state.get.current().theme.color.shades - 1); for (var type in state.get.current().theme.color.range) { - for (var i = 0; i < state.get.current().theme.color.shades; i++) { + let hsl = JSON.parse( + JSON.stringify(state.get.current().theme.color.range[type]) + ); - let hsl = JSON.parse(JSON.stringify(state.get.current().theme.color.range[type])); - - hsl.l = Math.round((shades * i) + state.get.current().theme.color.contrast.start); + hsl.l = Math.round( + shades * i + state.get.current().theme.color.contrast.start + ); let rgb = convertColor.hsl.rgb(hsl); @@ -133,57 +136,73 @@ theme.color = { for (let key in hsl) { html.style.setProperty(`--theme-${type}-${i + 1}-${key}`, hsl[key]); } - } - } for (let i = 1; i <= state.get.current().theme.color.shades; i++) { - html.style.setProperty(`--theme-primary-${i}`, `var(--theme-primary-${i}-h), calc(var(--theme-primary-${i}-s) * 1%), calc(var(--theme-primary-${i}-l) * 1%)`); + html.style.setProperty( + `--theme-primary-${i}`, + `var(--theme-primary-${i}-h), calc(var(--theme-primary-${i}-s) * 1%), calc(var(--theme-primary-${i}-l) * 1%)` + ); } - - } + }, }; theme.accent = {}; theme.accent.random = { render: () => { - if (state.get.current().theme.accent.random.active) { - const randomAccentType = { - any: () => { return { h: randomNumber(0, 360), s: randomNumber(0, 100), l: randomNumber(0, 100) }; }, - light: () => { return { h: randomNumber(0, 360), s: randomNumber(50, 90), l: randomNumber(50, 90) }; }, - dark: () => { return { h: randomNumber(0, 360), s: randomNumber(10, 50), l: randomNumber(10, 50) }; }, - pastel: () => { return { h: randomNumber(0, 360), s: 50, l: 80 }; }, - saturated: () => { return { h: randomNumber(0, 360), s: 100, l: 50 }; } + any: () => { + return { + h: randomNumber(0, 360), + s: randomNumber(0, 100), + l: randomNumber(0, 100), + }; + }, + light: () => { + return { + h: randomNumber(0, 360), + s: randomNumber(50, 90), + l: randomNumber(50, 90), + }; + }, + dark: () => { + return { + h: randomNumber(0, 360), + s: randomNumber(10, 50), + l: randomNumber(10, 50), + }; + }, + pastel: () => { + return { h: randomNumber(0, 360), s: 50, l: 80 }; + }, + saturated: () => { + return { h: randomNumber(0, 360), s: 100, l: 50 }; + }, }; - const hsl = randomAccentType[state.get.current().theme.accent.random.style](); + const hsl = + randomAccentType[state.get.current().theme.accent.random.style](); const rgb = convertColor.hsl.rgb(hsl); state.get.current().theme.accent.rgb = rgb; state.get.current().theme.accent.hsl = hsl; - } - - } + }, }; theme.accent.rainbow = { render: () => { - const units = 360 / bookmark.count(); let degree = 0; bookmark.all.forEach((item) => { - item.items.forEach((item) => { - item.accent.by = 'custom'; item.accent.hsl = { h: Math.round(degree), s: 100, l: 50 }; @@ -191,41 +210,29 @@ theme.accent.rainbow = { item.accent.rgb = convertColor.hsl.rgb(item.accent.hsl); degree = degree + units; - }); - }); groupAndBookmark.render(); - }, clear: () => { - bookmark.all.forEach((item) => { - item.items.forEach((item) => { - item.accent = JSON.parse(JSON.stringify(bookmarkDefault.accent)); - }); - }); groupAndBookmark.render(); - - } + }, }; theme.accent.cycle = { timer: false, bind: () => { - if (state.get.current().theme.accent.cycle.active) { - clearInterval(theme.accent.cycle.timer); theme.accent.cycle.timer = setInterval(() => { - theme.accent.cycle.render(); if (state.get.current().menu) { @@ -235,27 +242,27 @@ theme.accent.cycle = { if (state.get.current().toolbar.accent.show) { toolbar.current.update.accent(); } - }, state.get.current().theme.accent.cycle.speed); - } else { - clearInterval(theme.accent.cycle.timer); theme.accent.cycle.timer = false; - } - }, render: () => { + let newValue = + state.get.current().theme.accent.hsl.h + + state.get.current().theme.accent.cycle.step; - let newValue = state.get.current().theme.accent.hsl.h + state.get.current().theme.accent.cycle.step; - - if (newValue > 359) { newValue = 0; } + if (newValue > 359) { + newValue = 0; + } state.get.current().theme.accent.hsl.h = newValue; - state.get.current().theme.accent.rgb = convertColor.hsl.rgb(state.get.current().theme.accent.hsl); + state.get.current().theme.accent.rgb = convertColor.hsl.rgb( + state.get.current().theme.accent.hsl + ); applyCSSVar([ 'theme.accent.rgb.r', @@ -263,36 +270,36 @@ theme.accent.cycle = { 'theme.accent.rgb.b', 'theme.accent.hsl.h', 'theme.accent.hsl.s', - 'theme.accent.hsl.l' + 'theme.accent.hsl.l', ]); - - } + }, }; theme.style = { bind: () => { - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { - theme.style.initial(); - }); + window + .matchMedia('(prefers-color-scheme: dark)') + .addEventListener('change', () => { + theme.style.initial(); + }); }, initial: () => { switch (state.get.current().theme.style) { - case 'dark': case 'light': - - localStorage.setItem(APP_NAME + 'Style', state.get.current().theme.style); + localStorage.setItem( + APP_NAME + 'Style', + state.get.current().theme.style + ); break; case 'system': - if (window.matchMedia('(prefers-color-scheme:dark)').matches) { localStorage.setItem(APP_NAME + 'Style', 'dark'); } else if (window.matchMedia('(prefers-color-scheme:light)').matches) { localStorage.setItem(APP_NAME + 'Style', 'light'); } break; - } }, dark: () => { @@ -307,7 +314,6 @@ theme.style = { }, toggle: () => { switch (state.get.current().theme.style) { - case 'dark': theme.style.light(); break; @@ -315,128 +321,148 @@ theme.style = { case 'light': theme.style.dark(); break; - } - } + }, }; theme.background = { element: { background: node('div|class:background'), type: { - theme: node('div|class:theme-background-type theme-background-type-theme'), - accent: node('div|class:theme-background-type theme-background-type-accent'), - color: node('div|class:theme-background-type theme-background-type-color'), - gradient: node('div|class:theme-background-type theme-background-type-gradient'), + theme: node( + 'div|class:theme-background-type theme-background-type-theme' + ), + accent: node( + 'div|class:theme-background-type theme-background-type-accent' + ), + color: node( + 'div|class:theme-background-type theme-background-type-color' + ), + gradient: node( + 'div|class:theme-background-type theme-background-type-gradient' + ), image: { - imageElement: node('div|class:theme-background-type theme-background-type-image'), + imageElement: node( + 'div|class:theme-background-type theme-background-type-image' + ), wrap: node('div|class:theme-background-type-image-wrap'), accent: node('div|class:theme-background-type-image-accent'), - vignette: node('div|class:theme-background-type-image-vignette') + vignette: node('div|class:theme-background-type-image-vignette'), }, video: { - videoElement: node('div|class:theme-background-type theme-background-type-video'), + videoElement: node( + 'div|class:theme-background-type theme-background-type-video' + ), wrap: node('div|class:theme-background-type-video-wrap'), accent: node('div|class:theme-background-type-video-accent'), - vignette: node('div|class:theme-background-type-video-vignette') + vignette: node('div|class:theme-background-type-video-vignette'), }, }, - video: false - } + video: false, + }, }; theme.background.area = { render: () => { state.get.option().theme.background.type.forEach((item) => { - switch (item) { - case 'image': - - theme.background.element.type.image.imageElement.appendChild(theme.background.element.type.image.wrap); - theme.background.element.type.image.imageElement.appendChild(theme.background.element.type.image.accent); - theme.background.element.type.image.imageElement.appendChild(theme.background.element.type.image.vignette); - theme.background.element.background.appendChild(theme.background.element.type.image.imageElement); + theme.background.element.type.image.imageElement.appendChild( + theme.background.element.type.image.wrap + ); + theme.background.element.type.image.imageElement.appendChild( + theme.background.element.type.image.accent + ); + theme.background.element.type.image.imageElement.appendChild( + theme.background.element.type.image.vignette + ); + theme.background.element.background.appendChild( + theme.background.element.type.image.imageElement + ); break; case 'video': - - theme.background.element.type.video.videoElement.appendChild(theme.background.element.type.video.wrap); - theme.background.element.type.video.videoElement.appendChild(theme.background.element.type.video.accent); - theme.background.element.type.video.videoElement.appendChild(theme.background.element.type.video.vignette); - theme.background.element.background.appendChild(theme.background.element.type.video.videoElement); + theme.background.element.type.video.videoElement.appendChild( + theme.background.element.type.video.wrap + ); + theme.background.element.type.video.videoElement.appendChild( + theme.background.element.type.video.accent + ); + theme.background.element.type.video.videoElement.appendChild( + theme.background.element.type.video.vignette + ); + theme.background.element.background.appendChild( + theme.background.element.type.video.videoElement + ); break; default: - - theme.background.element.background.appendChild(theme.background.element.type[item]); - + theme.background.element.background.appendChild( + theme.background.element.type[item] + ); } - }); - document.querySelector('body').appendChild(theme.background.element.background); - - } + document + .querySelector('body') + .appendChild(theme.background.element.background); + }, }; theme.background.image = { render: () => { - const html = document.querySelector('html'); if (isValidString(state.get.current().theme.background.image.url)) { - - const allUrls = trimString(state.get.current().theme.background.image.url).split(/\s+/).filter((item) => { return item != ''; }); - - html.style.setProperty('--theme-background-image', 'url("' + allUrls[Math.floor(Math.random() * allUrls.length)] + '")'); - + const allUrls = trimString(state.get.current().theme.background.image.url) + .split(/\s+/) + .filter((item) => { + return item != ''; + }); + + html.style.setProperty( + '--theme-background-image', + 'url("' + allUrls[Math.floor(Math.random() * allUrls.length)] + '")' + ); } else { - html.style.removeProperty('--theme-background-image'); - } - - } + }, }; theme.background.video = { render: () => { - if (isValidString(state.get.current().theme.background.video.url)) { - - const allUrls = trimString(state.get.current().theme.background.video.url).split(/\s+/).filter((item) => { return item != ''; }); + const allUrls = trimString(state.get.current().theme.background.video.url) + .split(/\s+/) + .filter((item) => { + return item != ''; + }); theme.background.element.video = new Video({ - url: allUrls[Math.floor(Math.random() * allUrls.length)] + url: allUrls[Math.floor(Math.random() * allUrls.length)], }); theme.background.element.video.bind.add(); - theme.background.element.type.video.wrap.appendChild(theme.background.element.video.video); - + theme.background.element.type.video.wrap.appendChild( + theme.background.element.video.video + ); } else { - theme.background.video.clear(); - } - }, clear: () => { - if (theme.background.element.video) { - theme.background.element.video.bind.remove(); theme.background.element.video = false; clearChildNode(theme.background.element.type.video.wrap); - } - - } + }, }; theme.init = () => { @@ -527,19 +553,16 @@ theme.init = () => { 'theme.bookmark.color.opacity', 'theme.bookmark.item.opacity', 'theme.toolbar.opacity', - 'theme.group.toolbar.opacity' + 'theme.group.toolbar.opacity', ]); applyCSSClass([ 'theme.style', 'theme.background.type', 'theme.layout.color.by', 'theme.header.color.by', - 'theme.bookmark.color.by' - ]); - applyCSSState([ - 'theme.layout.divider.size', - 'theme.accent.cycle.active' + 'theme.bookmark.color.by', ]); + applyCSSState(['theme.layout.divider.size', 'theme.accent.cycle.active']); }; -export { theme }; \ No newline at end of file +export { theme }; diff --git a/src/component/themePreset/acrid/index.js b/src/component/themePreset/acrid/index.js index 73847937..5dbb0f5b 100644 --- a/src/component/themePreset/acrid/index.js +++ b/src/component/themePreset/acrid/index.js @@ -1,27 +1,74 @@ export const acrid = { name: 'Acrid', - color: { range: { primary: { h: 301, s: 32 } }, contrast: { start: 11, end: 65 } }, + color: { + range: { primary: { h: 301, s: 32 } }, + contrast: { start: 11, end: 65 }, + }, accent: { hsl: { h: 112, s: 100, l: 42 }, rgb: { r: 29, g: 213, b: 0 } }, - font: { display: { name: 'Titillium Web', weight: 400, style: 'italic' }, ui: { name: 'Inconsolata', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Titillium Web', weight: 400, style: 'italic' }, + ui: { name: 'Inconsolata', weight: 400, style: 'normal' }, + }, background: { type: 'gradient', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 154, s: 62, l: 24 }, rgb: { r: 23, g: 99, b: 66 } }, - end: { hsl: { h: 300, s: 42, l: 21 }, rgb: { r: 76, g: 31, b: 76 } } + end: { hsl: { h: 300, s: 42, l: 21 }, rgb: { r: 76, g: 31, b: 76 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 30, shadow: 75, style: 'dark', shade: { opacity: 20, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/aerial/index.js b/src/component/themePreset/aerial/index.js index 5246ae8e..2bafb349 100644 --- a/src/component/themePreset/aerial/index.js +++ b/src/component/themePreset/aerial/index.js @@ -1,27 +1,74 @@ export const aerial = { name: 'Aerial', - color: { range: { primary: { h: 200, s: 27 } }, contrast: { start: 11, end: 77 } }, + color: { + range: { primary: { h: 200, s: 27 } }, + contrast: { start: 11, end: 77 }, + }, accent: { hsl: { h: 180, s: 100, l: 50 }, rgb: { r: 0, g: 255, b: 255 } }, - font: { display: { name: 'Unica One', weight: 400, style: 'normal' }, ui: { name: 'Inria Sans', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Unica One', weight: 400, style: 'normal' }, + ui: { name: 'Inria Sans', weight: 400, style: 'normal' }, + }, background: { type: 'video', color: { rgb: { r: 0, g: 0, b: 0 }, hsl: { h: 0, s: 0, l: 0 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 10, + opacity: 60, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342605376.mp4?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 20, + opacity: 80, + vignette: { opacity: 70, start: 90, end: 25 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 10, opacity: 60, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342605376.mp4?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 20, opacity: 80, vignette: { opacity: 70, start: 90, end: 25 } } }, radius: 25, shadow: 50, style: 'dark', shade: { opacity: 2, blur: 0 }, opacity: { general: 0 }, - layout: { color: { by: 'custom', blur: 50, opacity: 40, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 1 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 0 } }, + layout: { + color: { + by: 'custom', + blur: 50, + opacity: 40, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 1 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 0 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/app/index.js b/src/component/themePreset/app/index.js index ebc06ce2..21cd1700 100644 --- a/src/component/themePreset/app/index.js +++ b/src/component/themePreset/app/index.js @@ -4,7 +4,10 @@ import { APP_NAME } from '../../../constant'; export const app = { name: APP_NAME + ' (default)', color: state.get.default().theme.color, - accent: { hsl: state.get.default().theme.accent.hsl, rgb: state.get.default().theme.accent.rgb }, + accent: { + hsl: state.get.default().theme.accent.hsl, + rgb: state.get.default().theme.accent.rgb, + }, font: state.get.default().theme.font, background: state.get.default().theme.background, radius: state.get.default().theme.radius, @@ -16,5 +19,5 @@ export const app = { header: state.get.default().theme.header, bookmark: state.get.default().theme.bookmark, group: state.get.default().theme.group, - toolbar: state.get.default().theme.toolbar + toolbar: state.get.default().theme.toolbar, }; diff --git a/src/component/themePreset/azure/index.js b/src/component/themePreset/azure/index.js index 7718ff37..ec0f107e 100644 --- a/src/component/themePreset/azure/index.js +++ b/src/component/themePreset/azure/index.js @@ -1,27 +1,74 @@ export const azure = { name: 'Azure', - color: { range: { primary: { h: 215, s: 35 } }, contrast: { start: 13, end: 40 } }, + color: { + range: { primary: { h: 215, s: 35 } }, + contrast: { start: 13, end: 40 }, + }, accent: { hsl: { h: 180, s: 100, l: 50 }, rgb: { r: 0, g: 255, b: 255 } }, - font: { display: { name: 'Unica One', weight: 400, style: 'normal' }, ui: { name: 'Inria Sans', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Unica One', weight: 400, style: 'normal' }, + ui: { name: 'Inria Sans', weight: 400, style: 'normal' }, + }, background: { type: 'gradient', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 180, start: { hsl: { h: 200, s: 46, l: 33 }, rgb: { r: 45, g: 97, b: 123 } }, - end: { hsl: { h: 212, s: 49, l: 9 }, rgb: { r: 12, g: 22, b: 34 } } + end: { hsl: { h: 212, s: 49, l: 9 }, rgb: { r: 12, g: 22, b: 34 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 25, shadow: 50, style: 'dark', shade: { opacity: 10, blur: 10 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 30 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 30 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/bean/index.js b/src/component/themePreset/bean/index.js index 063e2097..d5697059 100644 --- a/src/component/themePreset/bean/index.js +++ b/src/component/themePreset/bean/index.js @@ -1,27 +1,74 @@ export const bean = { name: 'Bean', - color: { range: { primary: { h: 191, s: 80 } }, contrast: { start: 7, end: 65 } }, + color: { + range: { primary: { h: 191, s: 80 } }, + contrast: { start: 7, end: 65 }, + }, accent: { hsl: { h: 38, s: 100, l: 50 }, rgb: { r: 255, g: 160, b: 0 } }, - font: { display: { name: 'Life Savers', weight: 400, style: 'normal' }, ui: { name: 'Oswald', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Life Savers', weight: 400, style: 'normal' }, + ui: { name: 'Oswald', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 50, shadow: 175, style: 'dark', shade: { opacity: 10, blur: 0 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/black/index.js b/src/component/themePreset/black/index.js index 7fe5a71a..3b2575af 100644 --- a/src/component/themePreset/black/index.js +++ b/src/component/themePreset/black/index.js @@ -2,7 +2,10 @@ import { state } from '../../state'; export const black = { name: 'Black', - color: { range: { primary: { h: 0, s: 0 } }, contrast: { start: 0, end: 100 } }, + color: { + range: { primary: { h: 0, s: 0 } }, + contrast: { start: 0, end: 100 }, + }, accent: { hsl: { h: 0, s: 0, l: 80 }, rgb: { r: 204, g: 204, b: 204 } }, font: state.get.default().theme.font, background: state.get.default().theme.background, @@ -15,5 +18,5 @@ export const black = { header: state.get.default().theme.header, bookmark: state.get.default().theme.bookmark, group: state.get.default().theme.group, - toolbar: state.get.default().theme.toolbar + toolbar: state.get.default().theme.toolbar, }; diff --git a/src/component/themePreset/comet/index.js b/src/component/themePreset/comet/index.js index 51395f87..66c7c030 100644 --- a/src/component/themePreset/comet/index.js +++ b/src/component/themePreset/comet/index.js @@ -1,27 +1,74 @@ export const comet = { name: 'Comet', - color: { range: { primary: { h: 207, s: 87 } }, contrast: { start: 30, end: 90 } }, + color: { + range: { primary: { h: 207, s: 87 } }, + contrast: { start: 30, end: 90 }, + }, accent: { hsl: { h: 0, s: 0, l: 100 }, rgb: { r: 255, g: 255, b: 255 } }, - font: { display: { name: 'Bungee Hairline', weight: 700, style: 'normal' }, ui: { name: 'Quicksand', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Bungee Hairline', weight: 700, style: 'normal' }, + ui: { name: 'Quicksand', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 145, start: { hsl: { h: 209, s: 100, l: 9 }, rgb: { r: 0, g: 24, b: 46 } }, - end: { hsl: { h: 207, s: 86, l: 27 }, rgb: { r: 10, g: 75, b: 128 } } + end: { hsl: { h: 207, s: 86, l: 27 }, rgb: { r: 10, g: 75, b: 128 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1629912579015.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629911101180.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629911104436.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 80, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1629912579015.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629911101180.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629911104436.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 80, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 35, shadow: 80, style: 'dark', shade: { opacity: 15, blur: 0 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 20 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 20 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 20 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 20 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/corsair/index.js b/src/component/themePreset/corsair/index.js index 774c1e30..2b629a98 100644 --- a/src/component/themePreset/corsair/index.js +++ b/src/component/themePreset/corsair/index.js @@ -1,27 +1,74 @@ export const corsair = { name: 'Corsair', - color: { range: { primary: { h: 217, s: 46 } }, contrast: { start: 18, end: 74 } }, + color: { + range: { primary: { h: 217, s: 46 } }, + contrast: { start: 18, end: 74 }, + }, accent: { hsl: { h: 59, s: 100, l: 50 }, rgb: { r: 255, g: 251, b: 0 } }, - font: { display: { name: 'Alatsi', weight: 400, style: 'normal' }, ui: { name: 'Source Sans Pro', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Alatsi', weight: 400, style: 'normal' }, + ui: { name: 'Source Sans Pro', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 20, shadow: 150, style: 'dark', shade: { opacity: 30, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/dash/index.js b/src/component/themePreset/dash/index.js index d560394c..9bc6af97 100644 --- a/src/component/themePreset/dash/index.js +++ b/src/component/themePreset/dash/index.js @@ -1,27 +1,74 @@ export const dash = { name: 'Dash', - color: { range: { primary: { h: 211, s: 10 } }, contrast: { start: 50, end: 100 } }, + color: { + range: { primary: { h: 211, s: 10 } }, + contrast: { start: 50, end: 100 }, + }, accent: { hsl: { h: 342, s: 83, l: 40 }, rgb: { r: 187, g: 17, b: 68 } }, - font: { display: { name: 'Fredericka the Great', weight: 400, style: 'normal' }, ui: { name: 'Oswald', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Fredericka the Great', weight: 400, style: 'normal' }, + ui: { name: 'Oswald', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 0, shadow: 0, style: 'light', shade: { opacity: 50, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/deco/index.js b/src/component/themePreset/deco/index.js index 6c9637d8..8965c2ff 100644 --- a/src/component/themePreset/deco/index.js +++ b/src/component/themePreset/deco/index.js @@ -1,27 +1,74 @@ export const deco = { name: 'Deco', - color: { range: { primary: { h: 184, s: 38 } }, contrast: { start: 22, end: 75 } }, + color: { + range: { primary: { h: 184, s: 38 } }, + contrast: { start: 22, end: 75 }, + }, accent: { hsl: { h: 0, s: 100, l: 82 }, rgb: { r: 255, g: 161, b: 161 } }, - font: { display: { name: 'Poiret One', weight: 400, style: 'normal' }, ui: { name: 'Lato', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Poiret One', weight: 400, style: 'normal' }, + ui: { name: 'Lato', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 200, shadow: 50, style: 'dark', shade: { opacity: 10, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/earthquake/index.js b/src/component/themePreset/earthquake/index.js index 5d3cdb7f..f15401f9 100644 --- a/src/component/themePreset/earthquake/index.js +++ b/src/component/themePreset/earthquake/index.js @@ -1,27 +1,74 @@ export const earthquake = { name: 'Earthquake', - color: { range: { primary: { h: 0, s: 13 } }, contrast: { start: 15, end: 40 } }, + color: { + range: { primary: { h: 0, s: 13 } }, + contrast: { start: 15, end: 40 }, + }, accent: { hsl: { h: 48, s: 100, l: 50 }, rgb: { r: 255, g: 204, b: 0 } }, - font: { display: { name: 'Tulpen One', weight: 400, style: 'normal' }, ui: { name: 'Barlow Condensed', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Tulpen One', weight: 400, style: 'normal' }, + ui: { name: 'Barlow Condensed', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 80, shadow: 100, style: 'dark', shade: { opacity: 80, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/funkadelic/index.js b/src/component/themePreset/funkadelic/index.js index 6a668aaf..19b0cf72 100644 --- a/src/component/themePreset/funkadelic/index.js +++ b/src/component/themePreset/funkadelic/index.js @@ -1,27 +1,74 @@ export const funkadelic = { name: 'Funkadelic', - color: { range: { primary: { h: 307, s: 100 } }, contrast: { start: 20, end: 70 } }, + color: { + range: { primary: { h: 307, s: 100 } }, + contrast: { start: 20, end: 70 }, + }, accent: { hsl: { h: 60, s: 86, l: 53 }, rgb: { r: 238, g: 238, b: 34 } }, - font: { display: { name: 'Monoton', weight: 400, style: 'normal' }, ui: { name: 'Lato', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Monoton', weight: 400, style: 'normal' }, + ui: { name: 'Lato', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 120, shadow: 0, style: 'dark', shade: { opacity: 80, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/grimm/index.js b/src/component/themePreset/grimm/index.js index 93d1ba5f..031f325a 100644 --- a/src/component/themePreset/grimm/index.js +++ b/src/component/themePreset/grimm/index.js @@ -1,27 +1,74 @@ export const grimm = { name: 'Grimm', - color: { range: { primary: { h: 283, s: 7 } }, contrast: { start: 18, end: 45 } }, + color: { + range: { primary: { h: 283, s: 7 } }, + contrast: { start: 18, end: 45 }, + }, accent: { hsl: { h: 144, s: 100, l: 50 }, rgb: { r: 0, g: 255, b: 102 } }, - font: { display: { name: 'Griffy', weight: 400, style: 'normal' }, ui: { name: 'Roboto Slab', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Griffy', weight: 400, style: 'normal' }, + ui: { name: 'Roboto Slab', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 100, shadow: 150, style: 'dark', shade: { opacity: 90, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/hive/index.js b/src/component/themePreset/hive/index.js index 281b9e12..ec236c0a 100644 --- a/src/component/themePreset/hive/index.js +++ b/src/component/themePreset/hive/index.js @@ -1,27 +1,75 @@ export const hive = { name: 'Hive', - color: { range: { primary: { h: 37, s: 88 } }, contrast: { start: 33, end: 100 } }, + color: { + range: { primary: { h: 37, s: 88 } }, + contrast: { start: 33, end: 100 }, + }, accent: { hsl: { h: 210, s: 60, l: 23 }, rgb: { r: 23, g: 59, b: 94 } }, - font: { display: { name: 'Kufam', weight: 400, style: 'normal' }, ui: { name: 'Inconsolata', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Kufam', weight: 400, style: 'normal' }, + ui: { name: 'Inconsolata', weight: 400, style: 'normal' }, + }, background: { type: 'video', color: { rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 0 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + type: 'url', + url: '', + blur: 0, + grayscale: 0, + opacity: 100, + scale: 100, + accent: 0, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1627763800511.mp4?raw=true', + blur: 0, + grayscale: 0, + opacity: 16, + scale: 100, + accent: 0, + vignette: { opacity: 50, start: 90, end: 0 }, }, - image: { type: 'url', url: '', blur: 0, grayscale: 0, opacity: 100, scale: 100, accent: 0, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1627763800511.mp4?raw=true', blur: 0, grayscale: 0, opacity: 16, scale: 100, accent: 0, vignette: { opacity: 50, start: 90, end: 0 } } }, radius: 25, shadow: 0, style: 'dark', shade: { opacity: 0, blur: 0 }, opacity: { general: 0 }, - layout: { color: { by: 'custom', blur: 30, opacity: 20, hsl: { h: 35, s: 100, l: 61 }, rgb: { r: 255, g: 172, b: 56 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 1, opacity: 0 } }, + layout: { + color: { + by: 'custom', + blur: 30, + opacity: 20, + hsl: { h: 35, s: 100, l: 61 }, + rgb: { r: 255, g: 172, b: 56 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 1, opacity: 0 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/hypnos/index.js b/src/component/themePreset/hypnos/index.js index 32053bae..bc1a5ab9 100644 --- a/src/component/themePreset/hypnos/index.js +++ b/src/component/themePreset/hypnos/index.js @@ -1,27 +1,74 @@ export const hypnos = { name: 'Hypnos', - color: { range: { primary: { h: 243, s: 26 } }, contrast: { start: 15, end: 50 } }, + color: { + range: { primary: { h: 243, s: 26 } }, + contrast: { start: 15, end: 50 }, + }, accent: { hsl: { h: 30, s: 100, l: 80 }, rgb: { r: 255, g: 204, b: 153 } }, - font: { display: { name: 'Shadows Into Light', weight: 100, style: 'normal' }, ui: { name: 'Fira Code', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Shadows Into Light', weight: 100, style: 'normal' }, + ui: { name: 'Fira Code', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356492462.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 5, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628356492462.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 5, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 60, shadow: 25, style: 'dark', shade: { opacity: 20, blur: 0 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 40 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 40 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/index.js b/src/component/themePreset/index.js index db26c18a..cb6c5c7c 100644 --- a/src/component/themePreset/index.js +++ b/src/component/themePreset/index.js @@ -92,7 +92,7 @@ themePreset.get = () => { trine, umbra, vanadium, - viper + viper, ]; }; diff --git a/src/component/themePreset/infrared/index.js b/src/component/themePreset/infrared/index.js index 7843d0b8..8e7a0384 100644 --- a/src/component/themePreset/infrared/index.js +++ b/src/component/themePreset/infrared/index.js @@ -1,27 +1,74 @@ export const infrared = { name: 'Infrared', - color: { range: { primary: { h: 359, s: 100 } }, contrast: { start: 12, end: 85 } }, + color: { + range: { primary: { h: 359, s: 100 } }, + contrast: { start: 12, end: 85 }, + }, accent: { hsl: { h: 0, s: 100, l: 50 }, rgb: { r: 255, g: 0, b: 0 } }, - font: { display: { name: 'Bellota', weight: 400, style: 'normal' }, ui: { name: 'Lexend', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Bellota', weight: 400, style: 'normal' }, + ui: { name: 'Lexend', weight: 400, style: 'normal' }, + }, background: { type: 'video', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342620002.mp4?raw=true', + blur: 0, + grayscale: 100, + scale: 100, + accent: 50, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342620002.mp4?raw=true', blur: 0, grayscale: 100, scale: 100, accent: 50, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 25, shadow: 75, style: 'dark', shade: { opacity: 0, blur: 5 }, opacity: { general: 0 }, - layout: { color: { by: 'custom', blur: 80, opacity: 5, hsl: { h: 0, s: 0, l: 100 }, rgb: { r: 255, g: 255, b: 255 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 1, opacity: 0 } }, + layout: { + color: { + by: 'custom', + blur: 80, + opacity: 5, + hsl: { h: 0, s: 0, l: 100 }, + rgb: { r: 255, g: 255, b: 255 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 1, opacity: 0 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/kapow/index.js b/src/component/themePreset/kapow/index.js index b0d66eaa..930dfecf 100644 --- a/src/component/themePreset/kapow/index.js +++ b/src/component/themePreset/kapow/index.js @@ -1,27 +1,74 @@ export const kapow = { name: 'Kapow', - color: { range: { primary: { h: 194, s: 77 } }, contrast: { start: 24, end: 54 } }, + color: { + range: { primary: { h: 194, s: 77 } }, + contrast: { start: 24, end: 54 }, + }, accent: { hsl: { h: 115, s: 100, l: 50 }, rgb: { r: 21, g: 255, b: 0 } }, - font: { display: { name: 'Bangers', weight: 400, style: 'normal' }, ui: { name: 'Sniglet', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Bangers', weight: 400, style: 'normal' }, + ui: { name: 'Sniglet', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626516786268.jpeg?raw=true', + blur: 0, + grayscale: 100, + scale: 100, + accent: 0, + opacity: 10, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626516786268.jpeg?raw=true', blur: 0, grayscale: 100, scale: 100, accent: 0, opacity: 10, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 40, shadow: 100, style: 'dark', shade: { opacity: 40, blur: 4 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 1, opacity: 80 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 1, opacity: 80 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/koto/index.js b/src/component/themePreset/koto/index.js index 2f6dd744..5f32bd94 100644 --- a/src/component/themePreset/koto/index.js +++ b/src/component/themePreset/koto/index.js @@ -1,27 +1,74 @@ export const koto = { name: 'Koto', - color: { range: { primary: { h: 231, s: 56 } }, contrast: { start: 13, end: 60 } }, + color: { + range: { primary: { h: 231, s: 56 } }, + contrast: { start: 13, end: 60 }, + }, accent: { hsl: { h: 341, s: 100, l: 52 }, rgb: { r: 255, g: 12, b: 88 } }, - font: { display: { name: 'Dosis', weight: 200, style: 'normal' }, ui: { name: 'Montserrat', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Dosis', weight: 200, style: 'normal' }, + ui: { name: 'Montserrat', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365116841.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 20, + opacity: 50, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365116841.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 20, opacity: 50, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 25, shadow: 50, style: 'dark', shade: { opacity: 0, blur: 10 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/lex/index.js b/src/component/themePreset/lex/index.js index eac687df..a6f3fbe9 100644 --- a/src/component/themePreset/lex/index.js +++ b/src/component/themePreset/lex/index.js @@ -1,27 +1,74 @@ export const lex = { name: 'Lex', - color: { range: { primary: { h: 278, s: 73 } }, contrast: { start: 10, end: 60 } }, + color: { + range: { primary: { h: 278, s: 73 } }, + contrast: { start: 10, end: 60 }, + }, accent: { hsl: { h: 160, s: 100, l: 50 }, rgb: { r: 0, g: 255, b: 170 } }, - font: { display: { name: 'Autour One', weight: 400, style: 'normal' }, ui: { name: 'Solway', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Autour One', weight: 400, style: 'normal' }, + ui: { name: 'Solway', weight: 400, style: 'normal' }, + }, background: { type: 'gradient', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 0, start: { hsl: { h: 222, s: 72, l: 25 }, rgb: { r: 18, g: 45, b: 110 } }, - end: { hsl: { h: 299, s: 72, l: 25 }, rgb: { r: 108, g: 18, b: 110 } } + end: { hsl: { h: 299, s: 72, l: 25 }, rgb: { r: 108, g: 18, b: 110 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 10, shadow: 100, style: 'dark', shade: { opacity: 90, blur: 0 }, opacity: { general: 15 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 15 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 15 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 15 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 15 }, + }, group: { toolbar: { opacity: 15 } }, - toolbar: { opacity: 15 } + toolbar: { opacity: 15 }, }; diff --git a/src/component/themePreset/macaroon/index.js b/src/component/themePreset/macaroon/index.js index 97488171..feb06a0a 100644 --- a/src/component/themePreset/macaroon/index.js +++ b/src/component/themePreset/macaroon/index.js @@ -1,27 +1,74 @@ export const macaroon = { name: 'Macaroon', - color: { range: { primary: { h: 301, s: 28 } }, contrast: { start: 55, end: 80 } }, + color: { + range: { primary: { h: 301, s: 28 } }, + contrast: { start: 55, end: 80 }, + }, accent: { hsl: { h: 241, s: 51, l: 62 }, rgb: { r: 110, g: 109, b: 208 } }, - font: { display: { name: 'Calistoga', weight: 400, style: 'normal' }, ui: { name: 'Source Sans Pro', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Calistoga', weight: 400, style: 'normal' }, + ui: { name: 'Source Sans Pro', weight: 400, style: 'normal' }, + }, background: { type: 'video', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342625654.mp4?raw=true', + blur: 0, + grayscale: 90, + scale: 100, + accent: 0, + opacity: 10, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342625654.mp4?raw=true', blur: 0, grayscale: 90, scale: 100, accent: 0, opacity: 10, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 40, shadow: 50, style: 'light', shade: { opacity: 30, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/marker/index.js b/src/component/themePreset/marker/index.js index 5a00f2b2..c489b32f 100644 --- a/src/component/themePreset/marker/index.js +++ b/src/component/themePreset/marker/index.js @@ -1,27 +1,74 @@ export const marker = { name: 'Marker', - color: { range: { primary: { h: 0, s: 0 } }, contrast: { start: 56, end: 96 } }, + color: { + range: { primary: { h: 0, s: 0 } }, + contrast: { start: 56, end: 96 }, + }, accent: { hsl: { h: 210, s: 33, l: 20 }, rgb: { r: 34, g: 51, b: 68 } }, - font: { display: { name: 'Permanent Marker', weight: 400, style: 'normal' }, ui: { name: 'Roboto Condensed', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Permanent Marker', weight: 400, style: 'normal' }, + ui: { name: 'Roboto Condensed', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365108115.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 25, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365108115.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 25, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 30, shadow: 50, style: 'light', shade: { opacity: 30, blur: 0 }, opacity: { general: 20 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 20 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 20 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 20 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 20 }, + }, group: { toolbar: { opacity: 20 } }, - toolbar: { opacity: 20 } + toolbar: { opacity: 20 }, }; diff --git a/src/component/themePreset/midnight/index.js b/src/component/themePreset/midnight/index.js index 9a8ca8da..13c0ad22 100644 --- a/src/component/themePreset/midnight/index.js +++ b/src/component/themePreset/midnight/index.js @@ -1,27 +1,74 @@ export const midnight = { name: 'Midnight', - color: { range: { primary: { h: 221, s: 40 } }, contrast: { start: 12, end: 50 } }, + color: { + range: { primary: { h: 221, s: 40 } }, + contrast: { start: 12, end: 50 }, + }, accent: { hsl: { h: 236, s: 100, l: 50 }, rgb: { r: 0, g: 17, b: 255 } }, - font: { display: { name: 'Megrim', weight: 400, style: 'normal' }, ui: { name: 'Lato', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Megrim', weight: 400, style: 'normal' }, + ui: { name: 'Lato', weight: 400, style: 'normal' }, + }, background: { type: 'video', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626351787997.mp4?raw=true', + blur: 0, + grayscale: 100, + scale: 100, + accent: 15, + opacity: 30, + vignette: { opacity: 40, start: 90, end: 50 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626351787997.mp4?raw=true', blur: 0, grayscale: 100, scale: 100, accent: 15, opacity: 30, vignette: { opacity: 40, start: 90, end: 50 } } }, radius: 50, shadow: 75, style: 'dark', shade: { opacity: 10, blur: 0 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/mint/index.js b/src/component/themePreset/mint/index.js index e7c9167c..597fbb14 100644 --- a/src/component/themePreset/mint/index.js +++ b/src/component/themePreset/mint/index.js @@ -1,27 +1,74 @@ export const mint = { name: 'Mint', - color: { range: { primary: { h: 157, s: 50 } }, contrast: { start: 12, end: 50 } }, + color: { + range: { primary: { h: 157, s: 50 } }, + contrast: { start: 12, end: 50 }, + }, accent: { hsl: { h: 169, s: 100, l: 68 }, rgb: { r: 94, g: 255, b: 226 } }, - font: { display: { name: 'Unica One', weight: 400, style: 'normal' }, ui: { name: 'Montserrat', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Unica One', weight: 400, style: 'normal' }, + ui: { name: 'Montserrat', weight: 400, style: 'normal' }, + }, background: { type: 'color', color: { hsl: { h: 154, s: 69, l: 32 }, rgb: { r: 25, g: 138, b: 89 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 80, shadow: 100, style: 'dark', shade: { opacity: 40, blur: 20 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/neon/index.js b/src/component/themePreset/neon/index.js index 74f70d94..a42ba285 100644 --- a/src/component/themePreset/neon/index.js +++ b/src/component/themePreset/neon/index.js @@ -1,27 +1,74 @@ export const neon = { name: 'Neon', - color: { range: { primary: { h: 219, s: 45, l: 22 } }, contrast: { start: 15, end: 85 } }, + color: { + range: { primary: { h: 219, s: 45, l: 22 } }, + contrast: { start: 15, end: 85 }, + }, accent: { hsl: { h: 192, s: 100, l: 50 }, rgb: { r: 0, g: 204, b: 255 } }, - font: { display: { name: 'Dosis', weight: 300, style: 'normal' }, ui: { name: 'Inria Sans', weight: 300, style: 'normal' } }, + font: { + display: { name: 'Dosis', weight: 300, style: 'normal' }, + ui: { name: 'Inria Sans', weight: 300, style: 'normal' }, + }, background: { type: 'image', color: { rgb: { r: 0, g: 0, b: 0 }, hsl: { h: 0, s: 0, l: 0 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1629141035201.jpeg?raw=true', + blur: 0, + opacity: 50, + scale: 100, + grayscale: 0, + accent: 0, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + opacity: 100, + scale: 100, + grayscale: 0, + accent: 0, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1629141035201.jpeg?raw=true', blur: 0, opacity: 50, scale: 100, grayscale: 0, accent: 0, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, opacity: 100, scale: 100, grayscale: 0, accent: 0, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 25, shadow: 100, style: 'dark', shade: { opacity: 8, blur: 0 }, opacity: { general: 0 }, - layout: { color: { by: 'custom', blur: 75, opacity: 5, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 45 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 45 } }, + layout: { + color: { + by: 'custom', + blur: 75, + opacity: 5, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 45 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 45 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/nord/index.js b/src/component/themePreset/nord/index.js index b3987ebd..204973dc 100644 --- a/src/component/themePreset/nord/index.js +++ b/src/component/themePreset/nord/index.js @@ -1,27 +1,74 @@ export const nord = { name: 'Nord', - color: { range: { primary: { h: 220, s: 16 } }, contrast: { start: 15, end: 50 } }, + color: { + range: { primary: { h: 220, s: 16 } }, + contrast: { start: 15, end: 50 }, + }, accent: { hsl: { h: 213, s: 32, l: 52 }, rgb: { r: 94, g: 129, b: 172 } }, - font: { display: { name: 'Rubik', weight: 400, style: 'normal' }, ui: { name: 'Inter', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Rubik', weight: 400, style: 'normal' }, + ui: { name: 'Inter', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 75, shadow: 100, style: 'dark', shade: { opacity: 10, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/obsidian/index.js b/src/component/themePreset/obsidian/index.js index 84e6b5b2..0d3ccfbd 100644 --- a/src/component/themePreset/obsidian/index.js +++ b/src/component/themePreset/obsidian/index.js @@ -1,27 +1,74 @@ export const obsidian = { name: 'Obsidian', - color: { range: { primary: { h: 200, s: 10 } }, contrast: { start: 5, end: 50 } }, + color: { + range: { primary: { h: 200, s: 10 } }, + contrast: { start: 5, end: 50 }, + }, accent: { hsl: { h: 180, s: 100, l: 50 }, rgb: { r: 0, g: 255, b: 255 } }, - font: { display: { name: 'Zilla Slab', weight: 700, style: 'normal' }, ui: { name: 'Montserrat', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Zilla Slab', weight: 700, style: 'normal' }, + ui: { name: 'Montserrat', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1629141031788.jpeg?raw=true', + blur: 0, + opacity: 10, + scale: 100, + grayscale: 0, + accent: 0, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1629141031788.jpeg?raw=true', blur: 0, opacity: 10, scale: 100, grayscale: 0, accent: 0, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 25, shadow: 200, style: 'dark', shade: { opacity: 50, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/origin/index.js b/src/component/themePreset/origin/index.js index 5cc28fb7..887f1eba 100644 --- a/src/component/themePreset/origin/index.js +++ b/src/component/themePreset/origin/index.js @@ -1,27 +1,74 @@ export const origin = { name: 'Origin', - color: { range: { primary: { h: 222, s: 14 } }, contrast: { start: 8, end: 88 } }, + color: { + range: { primary: { h: 222, s: 14 } }, + contrast: { start: 8, end: 88 }, + }, accent: { hsl: { h: 30, s: 100, l: 50 }, rgb: { r: 255, g: 128, b: 0 } }, - font: { display: { name: 'Fira Sans', weight: 400, style: 'normal' }, ui: { name: 'Noto Sans', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Fira Sans', weight: 400, style: 'normal' }, + ui: { name: 'Noto Sans', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626472271306.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 20, + vignette: { opacity: 20, start: 90, end: 40 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626472271306.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 20, vignette: { opacity: 20, start: 90, end: 40 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 50, shadow: 75, style: 'dark', shade: { opacity: 0, blur: 10 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 1, opacity: 0 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 1, opacity: 0 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/outrun/index.js b/src/component/themePreset/outrun/index.js index 67eea2a2..874ed6b3 100644 --- a/src/component/themePreset/outrun/index.js +++ b/src/component/themePreset/outrun/index.js @@ -1,27 +1,74 @@ export const outrun = { name: 'Outrun', - color: { range: { primary: { h: 227, s: 52 } }, contrast: { start: 20, end: 80 } }, + color: { + range: { primary: { h: 227, s: 52 } }, + contrast: { start: 20, end: 80 }, + }, accent: { hsl: { h: 316, s: 100, l: 50 }, rgb: { r: 255, g: 0, b: 187 } }, - font: { display: { name: 'Major Mono Display', weight: 400, style: 'normal' }, ui: { name: 'Roboto Condensed', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Major Mono Display', weight: 400, style: 'normal' }, + ui: { name: 'Roboto Condensed', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365114391.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 60, + opacity: 70, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365114391.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 60, opacity: 70, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 25, shadow: 0, style: 'dark', shade: { opacity: 70, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 1 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 1 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/pepper/index.js b/src/component/themePreset/pepper/index.js index 70f63da5..f5f78971 100644 --- a/src/component/themePreset/pepper/index.js +++ b/src/component/themePreset/pepper/index.js @@ -1,27 +1,74 @@ export const pepper = { name: 'Pepper', - color: { range: { primary: { h: 0, s: 69 } }, contrast: { start: 15, end: 80 } }, + color: { + range: { primary: { h: 0, s: 69 } }, + contrast: { start: 15, end: 80 }, + }, accent: { rgb: { r: 255, g: 150, b: 0 }, hsl: { h: 35, s: 100, l: 50 } }, - font: { display: { name: 'Big Shoulders Display', weight: 400, style: 'normal' }, ui: { name: 'Montserrat', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Big Shoulders Display', weight: 400, style: 'normal' }, + ui: { name: 'Montserrat', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 30, start: { hsl: { h: 358, s: 100, l: 15 }, rgb: { r: 77, g: 0, b: 3 } }, - end: { hsl: { h: 9, s: 99, l: 40 }, rgb: { r: 203, g: 31, b: 1 } } + end: { hsl: { h: 9, s: 99, l: 40 }, rgb: { r: 203, g: 31, b: 1 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628355202943.jpeg?raw=true', + blur: 0, + grayscale: 100, + scale: 100, + accent: 0, + opacity: 15, + vignette: { opacity: 25, start: 90, end: 35 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628355202943.jpeg?raw=true', blur: 0, grayscale: 100, scale: 100, accent: 0, opacity: 15, vignette: { opacity: 25, start: 90, end: 35 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 60, shadow: 100, style: 'dark', shade: { opacity: 10, blur: 0 }, opacity: { general: 25 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 1 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 25 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 25 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 1 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 25 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 25 }, + }, group: { toolbar: { opacity: 25 } }, - toolbar: { opacity: 25 } + toolbar: { opacity: 25 }, }; diff --git a/src/component/themePreset/point/index.js b/src/component/themePreset/point/index.js index 036d77f2..6f7ce49a 100644 --- a/src/component/themePreset/point/index.js +++ b/src/component/themePreset/point/index.js @@ -1,27 +1,74 @@ export const point = { name: 'Point', - color: { range: { primary: { h: 146, s: 20, l: 24 } }, contrast: { start: 20, end: 60 } }, + color: { + range: { primary: { h: 146, s: 20, l: 24 } }, + contrast: { start: 20, end: 60 }, + }, accent: { hsl: { h: 30, s: 80, l: 63 }, rgb: { r: 236, g: 161, b: 85 } }, - font: { display: { name: 'Klee One', weight: 600, style: 'normal' }, ui: { name: 'Klee One', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Klee One', weight: 600, style: 'normal' }, + ui: { name: 'Klee One', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1629583136673.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629583172118.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629583176908.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629583180203.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629583182863.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 25, + vignette: { opacity: 55, start: 90, end: 10 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1629583136673.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629583172118.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629583176908.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629583180203.jpeg?raw=true\n\nhttps://github.com/zombieFox/nightTabAssets/blob/main/images/1629583182863.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 25, vignette: { opacity: 55, start: 90, end: 10 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 25, shadow: 125, style: 'dark', shade: { opacity: 4, blur: 0 }, opacity: { general: 45 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 45 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 45 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 45 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 45 }, + }, group: { toolbar: { opacity: 45 } }, - toolbar: { opacity: 45 } + toolbar: { opacity: 45 }, }; diff --git a/src/component/themePreset/pumpkin/index.js b/src/component/themePreset/pumpkin/index.js index 3683aaef..8ad47d3d 100644 --- a/src/component/themePreset/pumpkin/index.js +++ b/src/component/themePreset/pumpkin/index.js @@ -1,27 +1,74 @@ export const pumpkin = { name: 'Pumpkin', - color: { range: { primary: { h: 198, s: 0 } }, contrast: { start: 10, end: 60 } }, + color: { + range: { primary: { h: 198, s: 0 } }, + contrast: { start: 10, end: 60 }, + }, accent: { hsl: { h: 25, s: 86, l: 53 }, rgb: { r: 238, g: 119, b: 34 } }, - font: { display: { name: 'Girassol', weight: 400, style: 'normal' }, ui: { name: 'Muli', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Girassol', weight: 400, style: 'normal' }, + ui: { name: 'Muli', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 20, shadow: 100, style: 'dark', shade: { opacity: 10, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/replica/index.js b/src/component/themePreset/replica/index.js index f116fdc1..ed4b1e51 100644 --- a/src/component/themePreset/replica/index.js +++ b/src/component/themePreset/replica/index.js @@ -1,27 +1,74 @@ export const replica = { name: 'Replica', - color: { range: { primary: { h: 212, s: 23 } }, contrast: { start: 54, end: 100 } }, + color: { + range: { primary: { h: 212, s: 23 } }, + contrast: { start: 54, end: 100 }, + }, accent: { hsl: { h: 210, s: 40, l: 30 }, rgb: { r: 51, g: 85, b: 119 } }, - font: { display: { name: 'Abel', weight: 400, style: 'normal' }, ui: { name: 'Raleway', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Abel', weight: 400, style: 'normal' }, + ui: { name: 'Raleway', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 0 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626366863277.jpeg?raw=true', + blur: 0, + grayscale: 0, + opacity: 40, + scale: 100, + accent: 0, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + opacity: 50, + scale: 100, + accent: 0, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626366863277.jpeg?raw=true', blur: 0, grayscale: 0, opacity: 40, scale: 100, accent: 0, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, opacity: 50, scale: 100, accent: 0, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 0, shadow: 0, style: 'light', shade: { opacity: 50, blur: 5 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 1 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 0 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 1 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 0 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/rumble/index.js b/src/component/themePreset/rumble/index.js index a843df30..0b854800 100644 --- a/src/component/themePreset/rumble/index.js +++ b/src/component/themePreset/rumble/index.js @@ -1,27 +1,74 @@ export const rumble = { name: 'Rumble', - color: { range: { primary: { h: 267, s: 10 } }, contrast: { start: 16, end: 40 } }, + color: { + range: { primary: { h: 267, s: 10 } }, + contrast: { start: 16, end: 40 }, + }, accent: { hsl: { h: 340, s: 100, l: 38 }, rgb: { r: 196, g: 0, b: 66 } }, - font: { display: { name: 'Odibee Sans', weight: 400, style: 'normal' }, ui: { name: 'Roboto Condensed', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Odibee Sans', weight: 400, style: 'normal' }, + ui: { name: 'Roboto Condensed', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628615254892.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 12, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628615254892.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 12, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 75, shadow: 175, style: 'dark', shade: { opacity: 20, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 1 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 50 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 50 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 1 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 50 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 50 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/savage/index.js b/src/component/themePreset/savage/index.js index e242dd21..dfc99c47 100644 --- a/src/component/themePreset/savage/index.js +++ b/src/component/themePreset/savage/index.js @@ -1,27 +1,74 @@ export const savage = { name: 'Savage', - color: { range: { primary: { h: 35, s: 7 } }, contrast: { start: 5, end: 30 } }, + color: { + range: { primary: { h: 35, s: 7 } }, + contrast: { start: 5, end: 30 }, + }, accent: { hsl: { h: 0, s: 100, l: 50 }, rgb: { r: 255, g: 0, b: 0 } }, - font: { display: { name: 'Metal Mania', weight: 400, style: 'normal' }, ui: { name: 'Lato', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Metal Mania', weight: 400, style: 'normal' }, + ui: { name: 'Lato', weight: 400, style: 'normal' }, + }, background: { type: 'gradient', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 180, start: { hsl: { h: 30, s: 5, l: 7 }, rgb: { r: 20, g: 19, b: 18 } }, - end: { hsl: { h: 0, s: 100, l: 13 }, rgb: { r: 66, g: 0, b: 0 } } + end: { hsl: { h: 0, s: 100, l: 13 }, rgb: { r: 66, g: 0, b: 0 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 0, shadow: 250, style: 'dark', shade: { opacity: 80, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/scoria/index.js b/src/component/themePreset/scoria/index.js index 8cc25392..03ed56ab 100644 --- a/src/component/themePreset/scoria/index.js +++ b/src/component/themePreset/scoria/index.js @@ -1,27 +1,74 @@ export const scoria = { name: 'Scoria', - color: { range: { primary: { h: 338, s: 76 } }, contrast: { start: 20, end: 65 } }, + color: { + range: { primary: { h: 338, s: 76 } }, + contrast: { start: 20, end: 65 }, + }, accent: { hsl: { h: 210, s: 80, l: 63 }, rgb: { r: 85, g: 161, b: 236 } }, - font: { display: { name: 'Zen Loop', weight: 400, style: 'normal' }, ui: { name: 'Montserrat', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Zen Loop', weight: 400, style: 'normal' }, + ui: { name: 'Montserrat', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 40, l: 17 }, rgb: { r: 26, g: 37, b: 61 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626775107287.jpeg?raw=true', + blur: 4, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626775107287.jpeg?raw=true', blur: 4, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 60, shadow: 100, style: 'dark', shade: { opacity: 0, blur: 90 }, opacity: { general: 80 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 80 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 80 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 80 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 80 }, + }, group: { toolbar: { opacity: 80 } }, - toolbar: { opacity: 80 } + toolbar: { opacity: 80 }, }; diff --git a/src/component/themePreset/snow/index.js b/src/component/themePreset/snow/index.js index 61846295..0f1f86ff 100644 --- a/src/component/themePreset/snow/index.js +++ b/src/component/themePreset/snow/index.js @@ -1,27 +1,74 @@ export const snow = { name: 'Snow', - color: { range: { primary: { h: 217, s: 46 } }, contrast: { start: 75, end: 95 } }, + color: { + range: { primary: { h: 217, s: 46 } }, + contrast: { start: 75, end: 95 }, + }, accent: { hsl: { h: 191, s: 59, l: 82 }, rgb: { r: 181, g: 226, b: 236 } }, - font: { display: { name: 'Righteous', weight: 400, style: 'normal' }, ui: { name: 'Raleway', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Righteous', weight: 400, style: 'normal' }, + ui: { name: 'Raleway', weight: 400, style: 'normal' }, + }, background: { type: 'gradient', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 360, start: { hsl: { h: 286, s: 15, l: 96 }, rgb: { r: 246, g: 243, b: 246 } }, - end: { hsl: { h: 204, s: 52, l: 81 }, rgb: { r: 181, g: 212, b: 232 } } + end: { hsl: { h: 204, s: 52, l: 81 }, rgb: { r: 181, g: 212, b: 232 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 0, shadow: 25, style: 'light', shade: { opacity: 60, blur: 0 }, opacity: { general: 80 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 80 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 2, opacity: 80 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 80 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 2, opacity: 80 }, + }, group: { toolbar: { opacity: 80 } }, - toolbar: { opacity: 80 } + toolbar: { opacity: 80 }, }; diff --git a/src/component/themePreset/sol/index.js b/src/component/themePreset/sol/index.js index 03a5b6f1..97163635 100644 --- a/src/component/themePreset/sol/index.js +++ b/src/component/themePreset/sol/index.js @@ -1,27 +1,74 @@ export const sol = { name: 'Sol', - color: { range: { primary: { h: 52, s: 100 } }, contrast: { start: 0, end: 90 } }, + color: { + range: { primary: { h: 52, s: 100 } }, + contrast: { start: 0, end: 90 }, + }, accent: { hsl: { h: 44, s: 100, l: 50 }, rgb: { r: 255, g: 185, b: 0 } }, - font: { display: { name: 'Fredoka One', weight: 400, style: 'normal' }, ui: { name: 'Muli', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Fredoka One', weight: 400, style: 'normal' }, + ui: { name: 'Muli', weight: 400, style: 'normal' }, + }, background: { type: 'accent', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 50, shadow: 25, style: 'light', shade: { opacity: 60, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 10 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 10 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 10 } }, - toolbar: { opacity: 10 } + toolbar: { opacity: 10 }, }; diff --git a/src/component/themePreset/steel/index.js b/src/component/themePreset/steel/index.js index 83d0aa46..7c7b3981 100644 --- a/src/component/themePreset/steel/index.js +++ b/src/component/themePreset/steel/index.js @@ -1,27 +1,74 @@ export const steel = { name: 'Steel', - color: { range: { primary: { h: 214, s: 30 } }, contrast: { start: 20, end: 80 } }, + color: { + range: { primary: { h: 214, s: 30 } }, + contrast: { start: 20, end: 80 }, + }, accent: { hsl: { h: 203, s: 33, l: 35 }, rgb: { r: 59, g: 95, b: 118 } }, - font: { display: { name: 'Abel', weight: 400, style: 'normal' }, ui: { name: 'Raleway', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Abel', weight: 400, style: 'normal' }, + ui: { name: 'Raleway', weight: 400, style: 'normal' }, + }, background: { type: 'theme', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 30, shadow: 50, style: 'light', shade: { opacity: 70, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 100 } }, - toolbar: { opacity: 100 } + toolbar: { opacity: 100 }, }; diff --git a/src/component/themePreset/stria/index.js b/src/component/themePreset/stria/index.js index e961005a..dd4a29a3 100644 --- a/src/component/themePreset/stria/index.js +++ b/src/component/themePreset/stria/index.js @@ -1,27 +1,74 @@ export const stria = { name: 'Stria', - color: { range: { primary: { h: 305, s: 20 } }, contrast: { start: 20, end: 48 } }, + color: { + range: { primary: { h: 305, s: 20 } }, + contrast: { start: 20, end: 48 }, + }, accent: { hsl: { h: 30, s: 80, l: 63 }, rgb: { r: 236, g: 161, b: 85 } }, - font: { display: { name: 'Gowun Batang', weight: 400, style: 'normal' }, ui: { name: '', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Gowun Batang', weight: 400, style: 'normal' }, + ui: { name: '', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626366147967.jpeg?raw=true', + blur: 0, + grayscale: 52, + scale: 100, + accent: 0, + opacity: 40, + vignette: { opacity: 25, start: 90, end: 20 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626366147967.jpeg?raw=true', blur: 0, grayscale: 52, scale: 100, accent: 0, opacity: 40, vignette: { opacity: 25, start: 90, end: 20 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 40, shadow: 30, style: 'dark', shade: { opacity: 0, blur: 10 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 50 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 50 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 50 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 50 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/terra/index.js b/src/component/themePreset/terra/index.js index 27227c7d..16cf9103 100644 --- a/src/component/themePreset/terra/index.js +++ b/src/component/themePreset/terra/index.js @@ -1,27 +1,74 @@ export const terra = { name: 'Terra', - color: { range: { primary: { h: 29, s: 28 } }, contrast: { start: 17, end: 83 } }, + color: { + range: { primary: { h: 29, s: 28 } }, + contrast: { start: 17, end: 83 }, + }, accent: { hsl: { h: 270, s: 80, l: 37 }, rgb: { r: 94, g: 19, b: 170 } }, - font: { display: { name: 'Sansita Swashed', weight: 400, style: 'normal' }, ui: { name: '', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Sansita Swashed', weight: 400, style: 'normal' }, + ui: { name: '', weight: 400, style: 'normal' }, + }, background: { type: 'gradient', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 180, start: { hsl: { h: 46, s: 52, l: 70 }, rgb: { r: 219, g: 200, b: 140 } }, - end: { hsl: { h: 342, s: 16, l: 52 }, rgb: { r: 152, g: 113, b: 125 } } + end: { hsl: { h: 342, s: 16, l: 52 }, rgb: { r: 152, g: 113, b: 125 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 75, shadow: 30, style: 'light', shade: { opacity: 4, blur: 4 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/trine/index.js b/src/component/themePreset/trine/index.js index fb9ec7cf..8ffb903d 100644 --- a/src/component/themePreset/trine/index.js +++ b/src/component/themePreset/trine/index.js @@ -1,27 +1,74 @@ export const trine = { name: 'Trine', - color: { range: { primary: { h: 228, s: 71 } }, contrast: { start: 10, end: 60 } }, + color: { + range: { primary: { h: 228, s: 71 } }, + contrast: { start: 10, end: 60 }, + }, accent: { hsl: { h: 180, s: 100, l: 50 }, rgb: { r: 0, g: 255, b: 255 } }, - font: { display: { name: 'Josefin Sans', weight: 300, style: 'normal' }, ui: { name: 'Roboto Slab', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Josefin Sans', weight: 300, style: 'normal' }, + ui: { name: 'Roboto Slab', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365111390.jpeg?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 30, + vignette: { opacity: 50, start: 95, end: 60 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626365111390.jpeg?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 30, vignette: { opacity: 50, start: 95, end: 60 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 50, shadow: 125, style: 'dark', shade: { opacity: 10, blur: 0 }, opacity: { general: 100 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 40 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 40 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }, group: { toolbar: { opacity: 40 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/umbra/index.js b/src/component/themePreset/umbra/index.js index 2e01c131..b84cef5b 100644 --- a/src/component/themePreset/umbra/index.js +++ b/src/component/themePreset/umbra/index.js @@ -1,27 +1,74 @@ export const umbra = { name: 'Umbra', - color: { range: { primary: { h: 214, s: 30 } }, contrast: { start: 20, end: 80 } }, + color: { + range: { primary: { h: 214, s: 30 } }, + contrast: { start: 20, end: 80 }, + }, accent: { hsl: { h: 151, s: 63, l: 55 }, rgb: { r: 68, g: 213, b: 143 } }, - font: { display: { name: 'Abel', weight: 400, style: 'normal' }, ui: { name: 'Raleway', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Abel', weight: 400, style: 'normal' }, + ui: { name: 'Raleway', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628946282879.jpeg?raw=true', + blur: 0, + grayscale: 100, + scale: 100, + accent: 0, + opacity: 20, + vignette: { opacity: 31, start: 90, end: 0 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1628946282879.jpeg?raw=true', blur: 0, grayscale: 100, scale: 100, accent: 0, opacity: 20, vignette: { opacity: 31, start: 90, end: 0 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 60, shadow: 50, style: 'dark', shade: { opacity: 0, blur: 10 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 70 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 70 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 70 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 70 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/vanadium/index.js b/src/component/themePreset/vanadium/index.js index b545f5d0..e193c734 100644 --- a/src/component/themePreset/vanadium/index.js +++ b/src/component/themePreset/vanadium/index.js @@ -1,27 +1,74 @@ export const vanadium = { name: 'Vanadium', - color: { range: { primary: { h: 218, s: 33 } }, contrast: { start: 15, end: 65 } }, + color: { + range: { primary: { h: 218, s: 33 } }, + contrast: { start: 15, end: 65 }, + }, accent: { hsl: { h: 30, s: 100, l: 50 }, rgb: { r: 255, g: 128, b: 0 } }, - font: { display: { name: 'Grenze Gotisch', weight: 100, style: 'normal' }, ui: { name: 'Roboto', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Grenze Gotisch', weight: 100, style: 'normal' }, + ui: { name: 'Roboto', weight: 400, style: 'normal' }, + }, background: { type: 'video', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342631982.mp4?raw=true', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 30, + vignette: { opacity: 60, start: 90, end: 20 }, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/videos/1626342631982.mp4?raw=true', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 30, vignette: { opacity: 60, start: 90, end: 20 } } }, radius: 25, shadow: 25, style: 'dark', shade: { opacity: 20, blur: 10 }, opacity: { general: 100 }, - layout: { color: { by: 'custom', blur: 0, opacity: 20, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 40 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 40 } }, + layout: { + color: { + by: 'custom', + blur: 0, + opacity: 20, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 40 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 40 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/viper/index.js b/src/component/themePreset/viper/index.js index 508d92f6..066edc8b 100644 --- a/src/component/themePreset/viper/index.js +++ b/src/component/themePreset/viper/index.js @@ -1,27 +1,74 @@ export const viper = { name: 'Viper', - color: { range: { primary: { h: 111, s: 34 } }, contrast: { start: 17, end: 90 } }, + color: { + range: { primary: { h: 111, s: 34 } }, + contrast: { start: 17, end: 90 }, + }, accent: { hsl: { h: 173, s: 100, l: 25 }, rgb: { r: 0, g: 128, b: 113 } }, - font: { display: { name: 'Georama', weight: 500, style: 'normal' }, ui: { name: 'Lora', weight: 400, style: 'normal' } }, + font: { + display: { name: 'Georama', weight: 500, style: 'normal' }, + ui: { name: 'Lora', weight: 400, style: 'normal' }, + }, background: { type: 'image', color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626368964266.jpeg?raw=true', + blur: 0, + grayscale: 100, + scale: 100, + accent: 20, + opacity: 22, + vignette: { opacity: 0, start: 90, end: 70 }, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + vignette: { opacity: 0, start: 90, end: 70 }, }, - image: { url: 'https://github.com/zombieFox/nightTabAssets/blob/main/images/1626368964266.jpeg?raw=true', blur: 0, grayscale: 100, scale: 100, accent: 20, opacity: 22, vignette: { opacity: 0, start: 90, end: 70 } }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100, vignette: { opacity: 0, start: 90, end: 70 } } }, radius: 25, shadow: 75, style: 'light', shade: { opacity: 0, blur: 0 }, opacity: { general: 0 }, - layout: { color: { by: 'theme', blur: 0, opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, divider: { size: 0 } }, - header: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 0 } }, - bookmark: { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 0 } }, + layout: { + color: { + by: 'theme', + blur: 0, + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + divider: { size: 0 }, + }, + header: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 0 }, + }, + bookmark: { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 0 }, + }, group: { toolbar: { opacity: 0 } }, - toolbar: { opacity: 0 } + toolbar: { opacity: 0 }, }; diff --git a/src/component/themePreset/white/index.js b/src/component/themePreset/white/index.js index c6f0b0d5..2d998325 100644 --- a/src/component/themePreset/white/index.js +++ b/src/component/themePreset/white/index.js @@ -2,7 +2,10 @@ import { state } from '../../state'; export const white = { name: 'White', - color: { range: { primary: { h: 0, s: 0 } }, contrast: { start: 0, end: 100 } }, + color: { + range: { primary: { h: 0, s: 0 } }, + contrast: { start: 0, end: 100 }, + }, accent: { hsl: { h: 0, s: 0, l: 20 }, rgb: { r: 51, g: 51, b: 51 } }, font: state.get.default().theme.font, background: state.get.default().theme.background, @@ -15,5 +18,5 @@ export const white = { header: state.get.default().theme.header, bookmark: state.get.default().theme.bookmark, group: state.get.default().theme.group, - toolbar: state.get.default().theme.toolbar + toolbar: state.get.default().theme.toolbar, }; diff --git a/src/component/toolbar/index.js b/src/component/toolbar/index.js index b95bd427..7ddff98b 100644 --- a/src/component/toolbar/index.js +++ b/src/component/toolbar/index.js @@ -9,21 +9,16 @@ toolbar.current = null; toolbar.bar = {}; toolbar.bar.render = () => { - toolbar.current = new ToolbarControl(); const body = document.querySelector('body'); switch (state.get.current().toolbar.location) { - case 'corner': - body.appendChild(toolbar.current.toolbar()); break; - } - }; toolbar.init = () => { diff --git a/src/component/toolbarControl/index.css b/src/component/toolbarControl/index.css index 0548b306..ddaad215 100644 --- a/src/component/toolbarControl/index.css +++ b/src/component/toolbarControl/index.css @@ -77,36 +77,50 @@ --button-text-disabled: var(--theme-background-color-text); } - .toolbar-item.button, -.toolbar-item.form-input-button input[type="color"]+label { - background-color: hsla(var(--button-background), calc(var(--theme-toolbar-opacity) / 100)); +.toolbar-item.form-input-button input[type="color"] + label { + background-color: hsla( + var(--button-background), + calc(var(--theme-toolbar-opacity) / 100) + ); } .toolbar-item.button:focus, .toolbar-item.button:hover, -.toolbar-item.form-input-button:focus input[type="color"]+label, -.toolbar-item.form-input-button:hover input[type="color"]+label { - background-color: hsla(var(--button-background-focus-hover), calc(var(--theme-toolbar-opacity) / 100)); +.toolbar-item.form-input-button:focus input[type="color"] + label, +.toolbar-item.form-input-button:hover input[type="color"] + label { + background-color: hsla( + var(--button-background-focus-hover), + calc(var(--theme-toolbar-opacity) / 100) + ); } .toolbar-item.button:active, -.toolbar-item.form-input-button:active input[type="color"]+label { - background-color: hsla(var(--button-background-focus-hover), calc(var(--theme-toolbar-opacity) / 100)); +.toolbar-item.form-input-button:active input[type="color"] + label { + background-color: hsla( + var(--button-background-focus-hover), + calc(var(--theme-toolbar-opacity) / 100) + ); } .toolbar-item.button.active, -.toolbar-item.form-input-button.active input[type="color"]+label { - background-color: hsla(var(--button-background-active), calc(var(--theme-toolbar-opacity) / 100)); +.toolbar-item.form-input-button.active input[type="color"] + label { + background-color: hsla( + var(--button-background-active), + calc(var(--theme-toolbar-opacity) / 100) + ); } .toolbar-item.button.disabled, .toolbar-item.button.disabled:hover, .toolbar-item.button.disabled:focus, .toolbar-item.button.disabled:active, -.toolbar-item.form-input-button input[type="color"]:disabled+label, -.toolbar-item.form-input-button input[type="color"]:disabled:hover+label, -.toolbar-item.form-input-button input[type="color"]:disabled:focus+label, -.toolbar-item.form-input-button input[type="color"]:disabled:active+label { - background-color: hsla(var(--button-background-disabled), calc(var(--theme-toolbar-opacity) / 100)); +.toolbar-item.form-input-button input[type="color"]:disabled + label, +.toolbar-item.form-input-button input[type="color"]:disabled:hover + label, +.toolbar-item.form-input-button input[type="color"]:disabled:focus + label, +.toolbar-item.form-input-button input[type="color"]:disabled:active + label { + background-color: hsla( + var(--button-background-disabled), + calc(var(--theme-toolbar-opacity) / 100) + ); } diff --git a/src/component/toolbarControl/index.js b/src/component/toolbarControl/index.js index 57e1aacd..d9ef24aa 100644 --- a/src/component/toolbarControl/index.js +++ b/src/component/toolbarControl/index.js @@ -21,12 +21,11 @@ import { applyCSSState } from '../../utility/applyCSSState'; import './index.css'; -export const ToolbarControl = function() { - +export const ToolbarControl = function () { this.element = { toolbar: node('div|class:toolbar'), control: node('div|class:toolbar-control'), - group: form.group() + group: form.group(), }; this.control = {}; @@ -48,11 +47,11 @@ export const ToolbarControl = function() { 'theme.accent.rgb.b', 'theme.accent.hsl.h', 'theme.accent.hsl.s', - 'theme.accent.hsl.l' + 'theme.accent.hsl.l', ]); this.update.style(); data.save(); - } + }, }), add: new Dropdown({ title: message.get('toolbarAddLabel'), @@ -62,9 +61,21 @@ export const ToolbarControl = function() { srOnly: true, iconName: 'add', menuItem: [ - { text: message.get('toolbarAddGroup'), iconName: 'addGroup', action: () => { group.add.render(); } }, - { text: message.get('toolbarAddBookmark'), iconName: 'addBookmark', action: () => { bookmark.add.render(); } } - ] + { + text: message.get('toolbarAddGroup'), + iconName: 'addGroup', + action: () => { + group.add.render(); + }, + }, + { + text: message.get('toolbarAddBookmark'), + iconName: 'addBookmark', + action: () => { + bookmark.add.render(); + }, + }, + ], }), edit: new Button({ title: message.get('toolbarEdit'), @@ -79,7 +90,7 @@ export const ToolbarControl = function() { header.edit.toggle(); this.update.edit(); data.save(); - } + }, }), setting: new Button({ title: message.get('toolbarSetting'), @@ -90,18 +101,14 @@ export const ToolbarControl = function() { style: ['line'], func: () => { menu.toggle(); - } - }) + }, + }), }; this.assemble = () => { - switch (state.get.current().toolbar.location) { - case 'corner': - switch (state.get.current().toolbar.position) { - case 'top-right': case 'bottom-right': this.element.group.classList.remove('form-group-reverse'); @@ -111,7 +118,6 @@ export const ToolbarControl = function() { case 'bottom-left': this.element.group.classList.add('form-group-reverse'); break; - } break; @@ -119,43 +125,30 @@ export const ToolbarControl = function() { case 'header': this.element.group.classList.remove('form-group-reverse'); break; - } if (state.get.current().toolbar.accent.show) { - this.element.group.appendChild(this.control.button.accent.button); - } else { - if (this.element.group.contains(this.control.button.accent.button)) { this.element.group.removeChild(this.control.button.accent.button); } - } if (state.get.current().toolbar.add.show) { - this.element.group.appendChild(this.control.button.add.toggle); - } else { - if (this.element.group.contains(this.control.button.add.toggle)) { this.element.group.removeChild(this.control.button.add.toggle); } - } if (state.get.current().toolbar.edit.show) { - this.element.group.appendChild(this.control.button.edit.button); - } else { - if (this.element.group.contains(this.control.button.edit.button)) { this.element.group.removeChild(this.control.button.edit.button); } - } this.element.group.appendChild(this.control.button.setting.button); @@ -163,47 +156,48 @@ export const ToolbarControl = function() { this.element.control.appendChild(this.element.group); this.element.toolbar.appendChild(this.element.control); - }; this.toolbar = () => { - return this.element.toolbar; - }; this.update = {}; this.update.style = () => { - const html = document.querySelector('html'); if (state.get.current().theme.toolbar.opacity < 40) { - html.classList.add('is-toolbar-opacity-low'); - } else { - html.classList.remove('is-toolbar-opacity-low'); - } const add = (rgb) => { - this.element.toolbar.style.setProperty('--toolbar-color-r', rgb.r); this.element.toolbar.style.setProperty('--toolbar-color-g', rgb.g); this.element.toolbar.style.setProperty('--toolbar-color-b', rgb.b); - this.element.toolbar.style.setProperty('--toolbar-color-text', '0, 0%, calc(((((var(--toolbar-color-r) * var(--theme-t-r)) + (var(--toolbar-color-g) * var(--theme-t-g)) + (var(--toolbar-color-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)'); - - this.element.toolbar.style.setProperty('--button-link-text', 'var(--toolbar-color-text)'); - this.element.toolbar.style.setProperty('--button-link-text-focus-hover', 'var(--toolbar-color-text)'); - this.element.toolbar.style.setProperty('--button-link-text-active', 'var(--toolbar-color-text)'); - + this.element.toolbar.style.setProperty( + '--toolbar-color-text', + '0, 0%, calc(((((var(--toolbar-color-r) * var(--theme-t-r)) + (var(--toolbar-color-g) * var(--theme-t-g)) + (var(--toolbar-color-b) * var(--theme-t-b))) / 255) - var(--theme-t)) * -10000000%)' + ); + + this.element.toolbar.style.setProperty( + '--button-link-text', + 'var(--toolbar-color-text)' + ); + this.element.toolbar.style.setProperty( + '--button-link-text-focus-hover', + 'var(--toolbar-color-text)' + ); + this.element.toolbar.style.setProperty( + '--button-link-text-active', + 'var(--toolbar-color-text)' + ); }; const remove = () => { - this.element.toolbar.style.removeProperty('--toolbar-color-r'); this.element.toolbar.style.removeProperty('--toolbar-color-g'); this.element.toolbar.style.removeProperty('--toolbar-color-b'); @@ -211,51 +205,49 @@ export const ToolbarControl = function() { this.element.toolbar.style.removeProperty('--toolbar-color-text'); this.element.toolbar.style.removeProperty('--button-link-text'); - this.element.toolbar.style.removeProperty('--button-link-text-focus-hover'); + this.element.toolbar.style.removeProperty( + '--button-link-text-focus-hover' + ); this.element.toolbar.style.removeProperty('--button-link-text-active'); - }; if (state.get.current().theme.toolbar.opacity < 40) { - switch (state.get.current().theme.background.type) { - case 'theme': case 'image': case 'video': - remove(); break; case 'accent': - add(state.get.current().theme.accent.rgb); break; case 'color': - add(state.get.current().theme.background.color.rgb); break; case 'gradient': - switch (state.get.current().toolbar.location) { case 'corner': { let angle = state.get.current().theme.background.gradient.angle; switch (state.get.current().toolbar.position) { - case 'top-left': case 'top-right': if (angle < 90) { add(state.get.current().theme.background.gradient.end.rgb); } else if (angle >= 90 && angle < 180) { - add(state.get.current().theme.background.gradient.start.rgb); + add( + state.get.current().theme.background.gradient.start.rgb + ); } else if (angle >= 180 && angle < 270) { - add(state.get.current().theme.background.gradient.start.rgb); + add( + state.get.current().theme.background.gradient.start.rgb + ); } else if (angle >= 270) { add(state.get.current().theme.background.gradient.end.rgb); } @@ -264,76 +256,66 @@ export const ToolbarControl = function() { case 'bottom-right': case 'bottom-left': if (angle < 90) { - add(state.get.current().theme.background.gradient.start.rgb); + add( + state.get.current().theme.background.gradient.start.rgb + ); } else if (angle >= 90 && angle < 180) { add(state.get.current().theme.background.gradient.end.rgb); } else if (angle >= 180 && angle < 270) { add(state.get.current().theme.background.gradient.end.rgb); } else if (angle >= 270) { - add(state.get.current().theme.background.gradient.start.rgb); + add( + state.get.current().theme.background.gradient.start.rgb + ); } break; - } break; } case 'header': - remove(); break; - } break; - } this.control.button.accent.inputButtonStyle.update(['dot', 'link']); this.control.button.edit.style.update(['line', 'link']); this.control.button.setting.style.update(['link']); this.control.button.add.buttonStyle.update(['link']); - } else { - remove(); this.control.button.accent.inputButtonStyle.update(['dot', 'line']); this.control.button.edit.style.update(['line']); this.control.button.setting.style.update(['line']); this.control.button.add.buttonStyle.update(['line']); - } - }; this.update.edit = () => { - - if (state.get.current().header.edit || state.get.current().group.edit || state.get.current().bookmark.edit) { - + if ( + state.get.current().header.edit || + state.get.current().group.edit || + state.get.current().bookmark.edit + ) { this.control.button.edit.active(); - } else { - this.control.button.edit.deactive(); - } - }; this.update.location = () => { - applyCSSClass('toolbar.location'); applyCSSState('toolbar.newLine'); - }; this.update.position = () => { - switch (state.get.current().toolbar.position) { - case 'top-right': case 'bottom-right': this.element.group.classList.remove('form-group-reverse'); @@ -343,12 +325,10 @@ export const ToolbarControl = function() { case 'bottom-left': this.element.group.classList.add('form-group-reverse'); break; - } applyCSSVar('toolbar.size'); applyCSSClass('toolbar.position'); - }; this.update.control = () => { @@ -356,9 +336,7 @@ export const ToolbarControl = function() { }; this.update.accent = () => { - this.control.button.accent.update(); - }; this.assemble(); @@ -370,5 +348,4 @@ export const ToolbarControl = function() { this.update.position(); this.update.control(); - }; diff --git a/src/component/transitional/index.js b/src/component/transitional/index.js index 41cb3918..c63decb7 100644 --- a/src/component/transitional/index.js +++ b/src/component/transitional/index.js @@ -2,45 +2,43 @@ import { state } from '../state'; import { node } from '../../utility/node'; - import './index.css'; export const Transitional = function () { - this.element = { transitional: node('div|class:transitional'), - text: node('span|class:transitional-item transitional-text') + text: node('span|class:transitional-item transitional-text'), }; this.assemble = () => { - if (state.get.current().header.transitional.show) { this.element.transitional.appendChild(this.element.text); } - }; this.update = () => { - let value; switch (state.get.current().header.transitional.type) { case 'time-and-date': - - if ((state.get.current().header.date.day.show || - state.get.current().header.date.date.show || - state.get.current().header.date.month.show || - state.get.current().header.date.year.show) && (state.get.current().header.clock.second.show || + if ( + (state.get.current().header.date.day.show || + state.get.current().header.date.date.show || + state.get.current().header.date.month.show || + state.get.current().header.date.year.show) && + (state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || - state.get.current().header.clock.hour.show)) { - if (state.get.current().header.date.day.show && !state.get.current().header.date.date.show && !state.get.current().header.date.month.show && !state.get.current().header.date.year.show) { - + state.get.current().header.clock.hour.show) + ) { + if ( + state.get.current().header.date.day.show && + !state.get.current().header.date.date.show && + !state.get.current().header.date.month.show && + !state.get.current().header.date.year.show + ) { value = 'The time and day is'; - } else { - value = 'The time and date is'; - } } else if ( state.get.current().header.date.day.show || @@ -54,49 +52,37 @@ export const Transitional = function () { !state.get.current().header.date.month.show && !state.get.current().header.date.year.show ) { - value = 'Today is'; - } else if ( !state.get.current().header.date.day.show && state.get.current().header.date.date.show && !state.get.current().header.date.month.show && !state.get.current().header.date.year.show ) { - value = 'The date is'; - } else if ( !state.get.current().header.date.day.show && !state.get.current().header.date.date.show && state.get.current().header.date.month.show && !state.get.current().header.date.year.show ) { - value = 'The month is'; - } else if ( !state.get.current().header.date.day.show && !state.get.current().header.date.date.show && !state.get.current().header.date.month.show && state.get.current().header.date.year.show ) { - value = 'The year is'; - } else { - value = 'The date is'; - } } else if ( state.get.current().header.clock.second.show || state.get.current().header.clock.minute.show || state.get.current().header.clock.hour.show ) { - value = 'The time is'; - } break; @@ -105,11 +91,9 @@ export const Transitional = function () { value = 'It\'s'; break; - } this.element.text.innerHTML = value; - }; this.assemble(); @@ -119,5 +103,4 @@ export const Transitional = function () { this.transitional = () => { return this.element.transitional; }; - }; diff --git a/src/component/update/index.js b/src/component/update/index.js index deae4856..0534e280 100644 --- a/src/component/update/index.js +++ b/src/component/update/index.js @@ -6,15 +6,18 @@ const update = {}; update.mod = updateLegacy.get(); -update.mod['7.0.0'] = function(data) { - +update.mod['7.0.0'] = function (data) { data.state.header.order.splice(data.state.header.order.indexOf('editAdd'), 1); - data.state.header.order.splice(data.state.header.order.indexOf('colorAccent'), 1); + data.state.header.order.splice( + data.state.header.order.indexOf('colorAccent'), + 1 + ); data.state.header.order.splice(data.state.header.order.indexOf('menu'), 1); data.state.header.greeting.size = data.state.header.greeting.size * 100; data.state.header.clock.size = data.state.header.clock.size * 100; - data.state.header.transitional.size = data.state.header.transitional.size * 100; + data.state.header.transitional.size = + data.state.header.transitional.size * 100; data.state.header.date.size = data.state.header.date.size * 100; data.state.header.search.size = data.state.header.search.size * 100; @@ -33,7 +36,6 @@ update.mod['7.0.0'] = function(data) { delete data.state.header.position; switch (data.state.header.date.format) { - case 'datemonth': data.state.header.date.format = 'date-month'; break; @@ -41,15 +43,12 @@ update.mod['7.0.0'] = function(data) { case 'monthdate': data.state.header.date.format = 'month-date'; break; - } switch (data.state.header.transitional.type) { - case 'timeanddate': data.state.header.transitional.type = 'time-and-date'; break; - } data.state.header.order.push('toolbar'); @@ -69,12 +68,12 @@ update.mod['7.0.0'] = function(data) { data.state.layout.area = { header: { width: data.state.header.area.width, - justify: data.state.header.area.justify + justify: data.state.header.area.justify, }, bookmark: { width: data.state.link.area.width, - justify: data.state.link.area.justify - } + justify: data.state.link.area.justify, + }, }; data.state.header.clock.hour = data.state.header.clock.hours; @@ -101,7 +100,7 @@ update.mod['7.0.0'] = function(data) { accent: { show: true }, add: { show: true }, edit: { show: true }, - newLine: data.state.header.menu.newLine + newLine: data.state.header.menu.newLine, }; delete data.state.header.menu; @@ -145,11 +144,9 @@ update.mod['7.0.0'] = function(data) { case 'bottomright': data.state.layout.alignment = 'bottom-right'; break; - } switch (data.state.layout.order) { - case 'headerlink': data.state.layout.order = 'header-bookmark'; break; @@ -157,25 +154,41 @@ update.mod['7.0.0'] = function(data) { case 'linkheader': data.state.layout.order = 'bookmark-header'; break; - } data.state.theme.opacity = { general: 100 }; - data.state.theme.group = { openAll: { opacity: data.state.group.openAll.opacity * 100 } }; + data.state.theme.group = { + openAll: { opacity: data.state.group.openAll.opacity * 100 }, + }; delete data.state.group.openAll.opacity; data.state.theme.toolbar = { opacity: 100 }; - data.state.theme.layout = { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, blur: 0 }, divider: { size: 0 } }; + data.state.theme.layout = { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + blur: 0, + }, + divider: { size: 0 }, + }; - data.state.theme.header = { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }; + data.state.theme.header = { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }; if (data.state.theme.header.color.show) { - data.state.theme.header.color.by = data.state.header.color.by; - } data.state.theme.header.color.hsl = data.state.header.color.hsl; @@ -184,13 +197,22 @@ update.mod['7.0.0'] = function(data) { data.state.theme.header.color.opacity = data.state.header.color.opacity * 100; - data.state.theme.header.search.opacity = data.state.header.search.opacity * 100; + data.state.theme.header.search.opacity = + data.state.header.search.opacity * 100; delete data.state.header.search.opacity; delete data.state.header.color; - data.state.theme.bookmark = { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }; + data.state.theme.bookmark = { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }; data.state.theme.background = data.state.background; @@ -199,11 +221,10 @@ update.mod['7.0.0'] = function(data) { data.state.theme.background.gradient = { angle: 160, start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, }; if (data.state.theme.background.visual.show) { - switch (data.state.theme.background.visual.type) { case 'image': data.state.theme.background.type = 'image'; @@ -213,34 +234,43 @@ update.mod['7.0.0'] = function(data) { data.state.theme.background.type = 'video'; break; } - } else { - if (data.state.theme.background.color.by === 'custom') { data.state.theme.background.type = 'color'; } else { data.state.theme.background.type = 'theme'; } - } delete data.state.theme.background.color.by; delete data.state.theme.background.visual.image.file; - data.state.theme.background.visual.image.blur = data.state.theme.background.visual.blur; - data.state.theme.background.visual.image.opacity = data.state.theme.background.visual.opacity * 100; - data.state.theme.background.visual.image.scale = data.state.theme.background.visual.scale * 100; - data.state.theme.background.visual.image.grayscale = data.state.theme.background.visual.grayscale * 100; - data.state.theme.background.visual.image.accent = data.state.theme.background.visual.accent * 100; - data.state.theme.background.visual.image.vignette = data.state.theme.background.visual.vignette; - - data.state.theme.background.visual.video.blur = data.state.theme.background.visual.blur; - data.state.theme.background.visual.video.opacity = data.state.theme.background.visual.opacity * 100; - data.state.theme.background.visual.video.scale = data.state.theme.background.visual.scale * 100; - data.state.theme.background.visual.video.grayscale = data.state.theme.background.visual.grayscale * 100; - data.state.theme.background.visual.video.accent = data.state.theme.background.visual.accent * 100; - data.state.theme.background.visual.video.vignette = data.state.theme.background.visual.vignette; + data.state.theme.background.visual.image.blur = + data.state.theme.background.visual.blur; + data.state.theme.background.visual.image.opacity = + data.state.theme.background.visual.opacity * 100; + data.state.theme.background.visual.image.scale = + data.state.theme.background.visual.scale * 100; + data.state.theme.background.visual.image.grayscale = + data.state.theme.background.visual.grayscale * 100; + data.state.theme.background.visual.image.accent = + data.state.theme.background.visual.accent * 100; + data.state.theme.background.visual.image.vignette = + data.state.theme.background.visual.vignette; + + data.state.theme.background.visual.video.blur = + data.state.theme.background.visual.blur; + data.state.theme.background.visual.video.opacity = + data.state.theme.background.visual.opacity * 100; + data.state.theme.background.visual.video.scale = + data.state.theme.background.visual.scale * 100; + data.state.theme.background.visual.video.grayscale = + data.state.theme.background.visual.grayscale * 100; + data.state.theme.background.visual.video.accent = + data.state.theme.background.visual.accent * 100; + data.state.theme.background.visual.video.vignette = + data.state.theme.background.visual.vignette; data.state.theme.background.image = data.state.theme.background.visual.image; data.state.theme.background.video = data.state.theme.background.visual.video; @@ -257,43 +287,54 @@ update.mod['7.0.0'] = function(data) { data.state.theme.color.range = { primary: { h: data.state.theme.color.hsl.h, - s: data.state.theme.color.hsl.s - } + s: data.state.theme.color.hsl.s, + }, }; let l = data.state.theme.color.hsl.l; - let contrastStart = l - (data.state.theme.color.contrast.dark * 10); + let contrastStart = l - data.state.theme.color.contrast.dark * 10; - let contrastEnd = l + (data.state.theme.color.contrast.light * 10); + let contrastEnd = l + data.state.theme.color.contrast.light * 10; data.state.theme.color.contrast = { start: Math.round(contrastStart), - end: Math.round(contrastEnd) + end: Math.round(contrastEnd), }; - if (data.state.theme.color.contrast.end <= data.state.theme.color.contrast.start) { - data.state.theme.color.contrast.end = data.state.theme.color.contrast.start + 10; + if ( + data.state.theme.color.contrast.end <= data.state.theme.color.contrast.start + ) { + data.state.theme.color.contrast.end = + data.state.theme.color.contrast.start + 10; } - if (data.state.theme.color.contrast.start > state.get.minMax().theme.color.contrast.start.max) { - - data.state.theme.color.contrast.start = state.get.minMax().theme.color.contrast.start.max; - - } else if (data.state.theme.color.contrast.start < state.get.minMax().theme.color.contrast.start.min) { - - data.state.theme.color.contrast.start = state.get.minMax().theme.color.contrast.start.min; - + if ( + data.state.theme.color.contrast.start > + state.get.minMax().theme.color.contrast.start.max + ) { + data.state.theme.color.contrast.start = + state.get.minMax().theme.color.contrast.start.max; + } else if ( + data.state.theme.color.contrast.start < + state.get.minMax().theme.color.contrast.start.min + ) { + data.state.theme.color.contrast.start = + state.get.minMax().theme.color.contrast.start.min; } - if (data.state.theme.color.contrast.end > state.get.minMax().theme.color.contrast.end.max) { - - data.state.theme.color.contrast.end = state.get.minMax().theme.color.contrast.end.max; - - } else if (data.state.theme.color.contrast.end < state.get.minMax().theme.color.contrast.end.min) { - - data.state.theme.color.contrast.end = state.get.minMax().theme.color.contrast.end.min; - + if ( + data.state.theme.color.contrast.end > + state.get.minMax().theme.color.contrast.end.max + ) { + data.state.theme.color.contrast.end = + state.get.minMax().theme.color.contrast.end.max; + } else if ( + data.state.theme.color.contrast.end < + state.get.minMax().theme.color.contrast.end.min + ) { + data.state.theme.color.contrast.end = + state.get.minMax().theme.color.contrast.end.min; } data.state.theme.shade.opacity = data.state.theme.shade.opacity * 100; @@ -304,59 +345,56 @@ update.mod['7.0.0'] = function(data) { delete data.state.theme.color.generated; data.state.theme.custom.all.forEach((item) => { - item.color.range = { primary: { h: item.color.hsl.h, - s: item.color.hsl.s - } + s: item.color.hsl.s, + }, }; if (item.color.contrast.light > item.color.contrast.dark) { - item.color.contrast = { start: Math.ceil((item.color.hsl.l * item.color.contrast.dark) / 10), - end: Math.ceil((item.color.hsl.l * item.color.contrast.light) / 3) + end: Math.ceil((item.color.hsl.l * item.color.contrast.light) / 3), }; - } else if (item.color.contrast.light < item.color.contrast.dark) { - item.color.contrast = { start: Math.ceil((item.color.hsl.l * item.color.contrast.light) / 10), - end: Math.ceil((item.color.hsl.l * item.color.contrast.dark) / 3) + end: Math.ceil((item.color.hsl.l * item.color.contrast.dark) / 3), }; - } else { - item.color.contrast = { - start: Math.ceil((item.color.contrast.light) * 4), - end: Math.ceil((item.color.contrast.dark) * 16) + start: Math.ceil(item.color.contrast.light * 4), + end: Math.ceil(item.color.contrast.dark * 16), }; - } if (item.color.contrast.end <= item.color.contrast.start) { item.color.contrast.end = item.color.contrast.start + 1; } - if (item.color.contrast.start > state.get.minMax().theme.color.contrast.start.max) { - - item.color.contrast.start = state.get.minMax().theme.color.contrast.start.max; - - } else if (item.color.contrast.start < state.get.minMax().theme.color.contrast.start.min) { - - item.color.contrast.start = state.get.minMax().theme.color.contrast.start.min; - + if ( + item.color.contrast.start > + state.get.minMax().theme.color.contrast.start.max + ) { + item.color.contrast.start = + state.get.minMax().theme.color.contrast.start.max; + } else if ( + item.color.contrast.start < + state.get.minMax().theme.color.contrast.start.min + ) { + item.color.contrast.start = + state.get.minMax().theme.color.contrast.start.min; } - if (item.color.contrast.end > state.get.minMax().theme.color.contrast.end.max) { - + if ( + item.color.contrast.end > state.get.minMax().theme.color.contrast.end.max + ) { item.color.contrast.end = state.get.minMax().theme.color.contrast.end.max; - - } else if (item.color.contrast.end < state.get.minMax().theme.color.contrast.end.min) { - + } else if ( + item.color.contrast.end < state.get.minMax().theme.color.contrast.end.min + ) { item.color.contrast.end = state.get.minMax().theme.color.contrast.end.min; - } delete item.color.hsl; @@ -371,7 +409,7 @@ update.mod['7.0.0'] = function(data) { item.shade.opacity = item.shade.opacity * 100; } else { item.shade = { - opacity: 20 + opacity: 20, }; } @@ -382,14 +420,40 @@ update.mod['7.0.0'] = function(data) { color: { hsl: { h: 221, s: 47, l: 17 }, rgb: { r: 23, g: 36, b: 64 } }, gradient: { angle: 160, - start: { hsl: { h: 206, s: 16, l: 40 }, rgb: { r: 86, g: 104, b: 118 } }, - end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } } + start: { + hsl: { h: 206, s: 16, l: 40 }, + rgb: { r: 86, g: 104, b: 118 }, + }, + end: { hsl: { h: 219, s: 28, l: 12 }, rgb: { r: 22, g: 28, b: 39 } }, + }, + image: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, + }, + video: { + url: '', + blur: 0, + grayscale: 0, + scale: 100, + accent: 0, + opacity: 100, }, - image: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100 }, - video: { url: '', blur: 0, grayscale: 0, scale: 100, accent: 0, opacity: 100 } }; - item.layout = { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 }, blur: 0 }, divider: { size: 0 } }; + item.layout = { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + blur: 0, + }, + divider: { size: 0 }, + }; item.opacity = { general: 100 }; @@ -397,37 +461,61 @@ update.mod['7.0.0'] = function(data) { item.toolbar = { opacity: 100 }; - item.header = { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, search: { opacity: 100 } }; - - item.bookmark = { color: { by: 'theme', opacity: 10, hsl: { h: 0, s: 0, l: 0 }, rgb: { r: 0, g: 0, b: 0 } }, item: { border: 0, opacity: 100 } }; + item.header = { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + search: { opacity: 100 }, + }; + item.bookmark = { + color: { + by: 'theme', + opacity: 10, + hsl: { h: 0, s: 0, l: 0 }, + rgb: { r: 0, g: 0, b: 0 }, + }, + item: { border: 0, opacity: 100 }, + }; }); - data.state.theme.custom.all.push(JSON.parse(JSON.stringify({ - name: 'My custom theme', - color: { - range: { - primary: { h: data.state.theme.color.range.primary.h, s: data.state.theme.color.range.primary.s } - }, - contrast: data.state.theme.color.contrast - }, - accent: { hsl: data.state.theme.accent.hsl, rgb: data.state.theme.accent.rgb }, - font: data.state.theme.font, - background: data.state.theme.background, - radius: data.state.theme.radius, - shadow: data.state.theme.shadow, - style: data.state.theme.style, - shade: data.state.theme.shade, - opacity: data.state.theme.opacity, - layout: data.state.theme.layout, - header: data.state.theme.header, - bookmark: data.state.theme.bookmark, - group: data.state.theme.group, - toolbar: data.state.theme.toolbar, - }))); + data.state.theme.custom.all.push( + JSON.parse( + JSON.stringify({ + name: 'My custom theme', + color: { + range: { + primary: { + h: data.state.theme.color.range.primary.h, + s: data.state.theme.color.range.primary.s, + }, + }, + contrast: data.state.theme.color.contrast, + }, + accent: { + hsl: data.state.theme.accent.hsl, + rgb: data.state.theme.accent.rgb, + }, + font: data.state.theme.font, + background: data.state.theme.background, + radius: data.state.theme.radius, + shadow: data.state.theme.shadow, + style: data.state.theme.style, + shade: data.state.theme.shade, + opacity: data.state.theme.opacity, + layout: data.state.theme.layout, + header: data.state.theme.header, + bookmark: data.state.theme.bookmark, + group: data.state.theme.group, + toolbar: data.state.theme.toolbar, + }) + ) + ); switch (data.state.group.order) { - case 'headerbody': data.state.group.order = 'header-body'; break; @@ -435,7 +523,6 @@ update.mod['7.0.0'] = function(data) { case 'bodyheader': data.state.group.order = 'body-header'; break; - } data.state.group.name.size = data.state.group.name.size * 100; @@ -461,9 +548,7 @@ update.mod['7.0.0'] = function(data) { delete data.bookmarks; data.bookmark.forEach((item) => { - item.items.forEach((item) => { - item.timestamp = item.timeStamp; delete item.timeStamp; @@ -484,7 +569,6 @@ update.mod['7.0.0'] = function(data) { case 'image': item.display.visual.size = item.display.visual.image.size * 10; break; - } delete item.display.visual.letter.size; @@ -505,7 +589,6 @@ update.mod['7.0.0'] = function(data) { case 'namevisual': item.display.order = 'name-visual'; break; - } switch (item.display.alignment) { @@ -544,19 +627,16 @@ update.mod['7.0.0'] = function(data) { case 'bottomright': item.display.alignment = 'bottom-right'; break; - } item.shape = { wide: item.wide, - tall: item.tall + tall: item.tall, }; delete item.wide; delete item.tall; - }); - }); data.state.layout.breakpoint = data.state.bookmark.breakpoint; @@ -570,11 +650,9 @@ update.mod['7.0.0'] = function(data) { delete data.state.dropdown; return data; - }; -update.mod['7.1.0'] = function(data) { - +update.mod['7.1.0'] = function (data) { data.state.layout.favicon = ''; data.state.group.toolbar = data.state.group.openAll; @@ -586,49 +664,39 @@ update.mod['7.1.0'] = function(data) { delete data.state.theme.group.openAll; data.state.theme.custom.all.forEach((item) => { - item.group.toolbar = { opacity: item.group.openAll.opacity }; delete item.group.openAll; - }); data.bookmark.forEach((item) => { - item.toolbar = { openAll: { show: item.openAll.show }, - collapse: { show: true } + collapse: { show: true }, }; delete item.openAll; - }); return data; - }; -update.mod['7.4.0'] = function(data) { - +update.mod['7.4.0'] = function (data) { data.state.layout.overscroll = { active: data.state.layout.overscroll, - unblur: false + unblur: false, }; return data; - }; -update.mod['7.5.0'] = function(data) { - +update.mod['7.5.0'] = function (data) { data.state.language = 'system'; return data; - }; update.run = (data) => { - // loop over all updates in mod.all object for (var key in update.mod) { if (version.compare(data.version, key) == -1) { @@ -640,12 +708,14 @@ update.run = (data) => { // if no update is needed version bump if (version.compare(data.version, version.number) == -1) { - console.log('\t > no state data to update, version bump to', version.number); + console.log( + '\t > no state data to update, version bump to', + version.number + ); data.version = version.number; } return data; - }; export { update }; diff --git a/src/component/updateLegacy/index.js b/src/component/updateLegacy/index.js index 8bdd3ab9..4c063da7 100644 --- a/src/component/updateLegacy/index.js +++ b/src/component/updateLegacy/index.js @@ -19,8 +19,8 @@ updateLegacy.get = () => { day: false, month: true, year: false, - separator: true - } + separator: true, + }, }, clock: { hour24: true, @@ -29,14 +29,14 @@ updateLegacy.get = () => { minutes: true, hours: true, separator: true, - meridiem: true - } + meridiem: true, + }, }, editAdd: { - active: true + active: true, }, accent: { - active: true + active: true, }, search: { searching: false, @@ -45,29 +45,29 @@ updateLegacy.get = () => { engine: { selected: 'google', google: { - url: 'https://www.google.com/search' + url: 'https://www.google.com/search', }, duckduckgo: { - url: 'https://duckduckgo.com/' + url: 'https://duckduckgo.com/', }, giphy: { - url: 'https://giphy.com/search/' + url: 'https://giphy.com/search/', }, custom: { - url: '' - } - } + url: '', + }, + }, }, buttons: { - show: true - } + show: true, + }, }, link: { editObject: null, action: null, newTab: false, style: 'block', - sort: 'none' + sort: 'none', }, layout: { alignment: 'left', @@ -77,21 +77,21 @@ updateLegacy.get = () => { current: { r: 255, g: 170, - b: 51 + b: 51, }, - random: false - } + random: false, + }, }, edit: { - active: false + active: false, }, menu: { open: false, - active: false + active: false, }, modal: { - active: false - } + active: false, + }, }; // version 1.0.0 bookmarks are not compatible so need to be reset data.bookmarks = []; @@ -100,14 +100,14 @@ updateLegacy.get = () => { '2.1.0': function (data) { data.state.layout.theme = { current: data.state.layout.theme.current, - random: false + random: false, }; return data; }, '2.3.0': function (data) { data.state.layout.theme.random = { active: data.state.layout.theme.random, - style: 'any' + style: 'any', }; return data; }, @@ -115,11 +115,11 @@ updateLegacy.get = () => { data.state.link.show = { active: true, name: true, - url: true + url: true, }; data.state.layout.alignment = { horizontal: 'left', - vertical: 'top' + vertical: 'top', }; data.state.background = { image: { @@ -128,8 +128,8 @@ updateLegacy.get = () => { blur: 0, opacity: 1, grayscale: 0, - accentOpacity: 0 - } + accentOpacity: 0, + }, }; return data; }, @@ -140,7 +140,7 @@ updateLegacy.get = () => { '2.7.0': function (data) { // update date character length data.state.header.date.character = { - length: data.state.header.date.characterLength + length: data.state.header.date.characterLength, }; // change editAdd active to show data.state.header.editAdd.show = data.state.header.editAdd.active; @@ -151,7 +151,7 @@ updateLegacy.get = () => { // move alignment into header data.state.header.alignment = { horizontal: data.state.layout.alignment.horizontal, - vertical: data.state.layout.alignment.vertical + vertical: data.state.layout.alignment.vertical, }; delete data.state.layout.alignment; // change header search @@ -159,7 +159,7 @@ updateLegacy.get = () => { delete data.state.header.search.active; // move searching data.state.search = { - active: false + active: false, }; delete data.state.header.search.searching; // change links to bookmarks @@ -178,7 +178,8 @@ updateLegacy.get = () => { data.state.background.image.show = data.state.background.image.active; delete data.state.background.image.active; // change background accent - data.state.background.image.accent = data.state.background.image.accentOpacity; + data.state.background.image.accent = + data.state.background.image.accentOpacity; delete data.state.background.image.accentOpacity; // change menu active data.state.menu.show = data.state.menu.active; @@ -200,8 +201,8 @@ updateLegacy.get = () => { opacity: 0.95, border: { top: false, - bottom: false - } + bottom: false, + }, }; return data; }, @@ -213,8 +214,8 @@ updateLegacy.get = () => { opacity: 0.95, border: { top: false, - bottom: false - } + bottom: false, + }, }; return data; }, @@ -222,28 +223,28 @@ updateLegacy.get = () => { data.state.header.greeting = { show: false, type: 'good', - name: '' + name: '', }; return data; }, '2.12.0': function (data) { data.state.bookmarks.link = { - show: data.state.bookmarks.show.link + show: data.state.bookmarks.show.link, }; data.state.bookmarks.name = { - show: data.state.bookmarks.show.name + show: data.state.bookmarks.show.name, }; data.state.bookmarks.url = { show: data.state.bookmarks.show.url, - style: 'dark' + style: 'dark', }; delete data.state.bookmarks.show; data.state.theme = { accent: { current: data.state.layout.theme.current, - random: data.state.layout.theme.random + random: data.state.layout.theme.random, }, - style: 'dark' + style: 'dark', }; delete data.state.layout.theme; return data; @@ -255,17 +256,17 @@ updateLegacy.get = () => { '2.16.0': function (data) { data.state.header.shade.padding = { top: data.state.header.shade.padding, - bottom: data.state.header.shade.padding + bottom: data.state.header.shade.padding, }; data.state.header.shade.border = { top: { show: data.state.header.shade.border.top, - width: 1 + width: 1, }, bottom: { show: data.state.header.shade.border.bottom, - width: 1 - } + width: 1, + }, }; return data; }, @@ -278,7 +279,7 @@ updateLegacy.get = () => { '2.19.0': function (data) { data.state.header.search.engine.youtube = { url: 'https://www.youtube.com/results?search_query=', - name: 'YouTube' + name: 'YouTube', }; data.state.header.search.engine.custom.name = ''; return data; @@ -286,10 +287,10 @@ updateLegacy.get = () => { '2.20.0': function (data) { data.state.header.search.width = { style: 'auto', - custom: 30 + custom: 30, }; data.state.header.search.text = { - align: 'left' + align: 'left', }; delete data.state.header.search.grow; return data; @@ -298,56 +299,56 @@ updateLegacy.get = () => { data.state.header.clock = { hours: { show: data.state.header.clock.show.hours, - display: 'number' + display: 'number', }, minutes: { show: data.state.header.clock.show.minutes, - display: 'number' + display: 'number', }, seconds: { show: data.state.header.clock.show.seconds, - display: 'number' + display: 'number', }, separator: { - show: data.state.header.clock.show.separator + show: data.state.header.clock.show.separator, }, meridiem: { - show: data.state.header.clock.show.meridiem + show: data.state.header.clock.show.meridiem, }, hour24: { - show: data.state.header.clock.hour24 - } + show: data.state.header.clock.hour24, + }, }; data.state.header.date = { day: { show: data.state.header.date.show.day, display: 'word', weekStart: 'monday', - length: data.state.header.date.character.length + length: data.state.header.date.character.length, }, date: { show: data.state.header.date.show.date, display: 'number', - ordinal: true + ordinal: true, }, month: { show: data.state.header.date.show.month, display: 'word', length: data.state.header.date.character.length, - ordinal: true + ordinal: true, }, year: { show: data.state.header.date.show.year, - display: 'number' + display: 'number', }, separator: { - show: data.state.header.date.show.separator + show: data.state.header.date.show.separator, }, - format: 'datemonth' + format: 'datemonth', }; data.state.header.transitional = { show: false, - type: 'timeanddate' + type: 'timeanddate', }; return data; }, @@ -358,8 +359,8 @@ updateLegacy.get = () => { color: { r: null, g: null, - b: null - } + b: null, + }, }; }); return data; @@ -370,7 +371,7 @@ updateLegacy.get = () => { arrayItem.icon = { name: null, prefix: null, - label: null + label: null, }; }); return data; @@ -379,13 +380,13 @@ updateLegacy.get = () => { data.state.header.area = { width: 90, alignment: { - horizontal: 'center' - } + horizontal: 'center', + }, }; data.state.header.items = { alignment: { - horizontal: 'left' - } + horizontal: 'left', + }, }; delete data.state.header.alignment; data.state.link = data.state.bookmarks; @@ -393,14 +394,14 @@ updateLegacy.get = () => { data.state.link.area = { width: 90, alignment: { - horizontal: 'center' - } + horizontal: 'center', + }, }; data.state.link.items = { width: 12, alignment: { - horizontal: 'left' - } + horizontal: 'left', + }, }; data.state.link.show = data.state.link.link.show; delete data.state.link.link; @@ -408,7 +409,7 @@ updateLegacy.get = () => { delete data.state.link.editObject; data.state.layout.alignment = { horizontal: 'center', - vertical: 'center' + vertical: 'center', }; data.state.edge = false; data.state.autoSuggest = false; @@ -419,14 +420,14 @@ updateLegacy.get = () => { show: true, alignment: { horizontal: 'center', - vertical: 'center' + vertical: 'center', }, letter: { - size: 2 + size: 2, }, icon: { - size: 2.5 - } + size: 2.5, + }, }; return data; }, @@ -446,7 +447,7 @@ updateLegacy.get = () => { size: 1, display: data.state.link.display, name: data.state.link.name, - url: data.state.link.url + url: data.state.link.url, }; data.state.link.item.name.size = 0.9; delete data.state.link.display; @@ -456,7 +457,7 @@ updateLegacy.get = () => { }, '3.7.0': function (data) { data.state.link.item.line = { - show: true + show: true, }; return data; }, @@ -470,12 +471,12 @@ updateLegacy.get = () => { data.state.header.search.size = 1; data.state.header.button = { editAdd: { - show: data.state.header.editAdd.show + show: data.state.header.editAdd.show, }, accent: { - show: data.state.header.accent.show + show: data.state.header.accent.show, }, - size: 1 + size: 1, }; delete data.state.header.editAdd; data.state.theme.radius = 0.2; @@ -486,7 +487,7 @@ updateLegacy.get = () => { data.state.header.radius = false; data.state.header.border = { top: 0, - bottom: 0 + bottom: 0, }; data.state.layout.padding = 4; data.state.layout.gutter = 2; @@ -522,19 +523,27 @@ updateLegacy.get = () => { '3.27.0': function (data) { // swicth to single values for alignment controls // no more horizontal or vertical keys in state object - data.state.header.area.alignment = data.state.header.area.alignment.horizontal; - data.state.header.item.alignment = data.state.header.item.alignment.horizontal; - data.state.header.search.text.alignment = data.state.header.search.text.align; + data.state.header.area.alignment = + data.state.header.area.alignment.horizontal; + data.state.header.item.alignment = + data.state.header.item.alignment.horizontal; + data.state.header.search.text.alignment = + data.state.header.search.text.align; delete data.state.header.search.text.align; - data.state.link.area.alignment = data.state.link.area.alignment.horizontal; - data.state.link.item.display.alignment = data.state.link.item.display.alignment.vertical + data.state.link.item.display.alignment.horizontal; - data.state.layout.alignment = data.state.layout.alignment.vertical + data.state.layout.alignment.horizontal; + data.state.link.area.alignment = + data.state.link.area.alignment.horizontal; + data.state.link.item.display.alignment = + data.state.link.item.display.alignment.vertical + + data.state.link.item.display.alignment.horizontal; + data.state.layout.alignment = + data.state.layout.alignment.vertical + + data.state.layout.alignment.horizontal; return data; }, '3.28.0': function (data) { data.state.header.search.engine.bing = { url: 'https://www.bing.com/search?q=', - name: 'Bing' + name: 'Bing', }; return data; }, @@ -544,13 +553,13 @@ updateLegacy.get = () => { delete data.state.link.newTab; // bring url and line inline with other show controls data.state.link.item.url = { - show: data.state.link.item.url + show: data.state.link.item.url, }; data.state.link.item.line = { - show: data.state.link.item.line + show: data.state.link.item.line, }; data.state.link.item.hoverScale = { - show: data.state.link.item.hoverScale + show: data.state.link.item.hoverScale, }; data.state.layout.order = data.state.layout.order.toLowerCase(); return data; @@ -567,7 +576,7 @@ updateLegacy.get = () => { } data.state.background.image.file = { name: '', - data: '' + data: '', }; return data; }, @@ -586,8 +595,8 @@ updateLegacy.get = () => { custom: { r: 0, g: 0, - b: 0 - } + b: 0, + }, }; return data; }, @@ -602,36 +611,38 @@ updateLegacy.get = () => { }, '3.82.0': function (data) { data.state.link.item.shadow = { - show: true + show: true, }; return data; }, '4.0.0': function (data) { - data.bookmarks = [{ - name: 'Group 1', - items: data.bookmarks - }]; + data.bookmarks = [ + { + name: 'Group 1', + items: data.bookmarks, + }, + ]; data.state.layout.size = 1; data.state.header.position = 'sticky'; data.state.link.item.display.rotate = 0; data.state.link.item.display.translate = { x: 0, - y: 0 + y: 0, }; data.state.link.item.hoverScale = { - show: true + show: true, }; data.state.group = { area: { - alignment: 'left' + alignment: 'left', }, name: { show: true, - size: 1 + size: 1, }, border: 0, order: 'headerbody', - add: false + add: false, }; data.state.dropdown = false; delete data.state.link.item.display.size; @@ -640,11 +651,11 @@ updateLegacy.get = () => { data.state.link.item.display.letcon = { show: data.state.link.item.display.show, letter: { - size: data.state.link.item.display.letter.size + size: data.state.link.item.display.letter.size, }, icon: { - size: data.state.link.item.display.icon.size - } + size: data.state.link.item.display.icon.size, + }, }; delete data.state.link.item.display.show; delete data.state.link.item.display.letter; @@ -652,7 +663,7 @@ updateLegacy.get = () => { data.state.link.item.display.rotate = 0; data.state.link.item.display.translate = { x: 0, - y: 0 + y: 0, }; if (data.state.link.item.order == 'displayname') { data.state.link.item.display.order = 'letconname'; @@ -684,21 +695,21 @@ updateLegacy.get = () => { hsl: { h: 222, s: 14, - l: 56 + l: 56, }, rgb: { r: 129, g: 138, - b: 160 - } + b: 160, + }, }; data.state.link.item.color = { by: 'theme', custom: { r: 0, g: 0, - b: 0 - } + b: 0, + }, }; data.state.header.button.colorAccent = data.state.header.button.accent; delete data.state.header.button.accent; @@ -706,14 +717,14 @@ updateLegacy.get = () => { }, '4.4.0': function (data) { data.state.header.button.colorAccent.dot = { - show: true + show: true, }; return data; }, '4.6.0': function (data) { data.state.theme.font = { display: '', - ui: '' + ui: '', }; return data; }, @@ -721,12 +732,12 @@ updateLegacy.get = () => { data.state.theme.font.display = { name: data.state.theme.font.display, weight: 400, - style: 'normal' + style: 'normal', }; data.state.theme.font.ui = { name: data.state.theme.font.ui, weight: 400, - style: 'normal' + style: 'normal', }; return data; }, @@ -737,7 +748,7 @@ updateLegacy.get = () => { '4.9.0': function (data) { data.state.theme.color.contrast = { light: 4, - dark: 4 + dark: 4, }; return data; }, @@ -748,13 +759,13 @@ updateLegacy.get = () => { '4.11.0': function (data) { data.state.theme.custom = { all: data.state.theme.custom, - edit: false + edit: false, }; return data; }, '4.17.0': function (data) { data.state.theme.shade = { - opacity: 0.4 + opacity: 0.4, }; return data; }, @@ -785,7 +796,7 @@ updateLegacy.get = () => { data.state.header.color.rgb = { r: 0, g: 0, - b: 0 + b: 0, }; return data; }, @@ -794,26 +805,35 @@ updateLegacy.get = () => { return data; }, '4.37.0': function (data) { - data.state.header.order = ['greeting', 'transitional', 'clock', 'date', 'search', 'editAdd', 'colorAccent', 'menu']; + data.state.header.order = [ + 'greeting', + 'transitional', + 'clock', + 'date', + 'search', + 'editAdd', + 'colorAccent', + 'menu', + ]; data.state.header.menu = { show: true, size: data.state.header.button.size, - style: data.state.header.button.style + style: data.state.header.button.style, }; data.state.header.editAdd = { show: data.state.header.button.editAdd.show, size: data.state.header.button.size, style: data.state.header.button.style, - newLine: false + newLine: false, }; data.state.header.colorAccent = { dot: { - show: data.state.header.button.colorAccent.dot.show + show: data.state.header.button.colorAccent.dot.show, }, show: data.state.header.button.colorAccent.show, size: data.state.header.button.size, style: data.state.header.button.style, - newLine: false + newLine: false, }; data.state.header.greeting.newLine = false; data.state.header.clock.newLine = false; @@ -825,7 +845,7 @@ updateLegacy.get = () => { data.state.header.menu.newLine = false; data.state.header.search.width = { by: data.state.header.search.style, - size: data.state.header.search.width + size: data.state.header.search.width, }; data.state.header.search.style = 'box'; delete data.state.header.button; @@ -840,7 +860,8 @@ updateLegacy.get = () => { delete data.state.header.area.alignment; data.state.header.item.justify = data.state.header.item.alignment; delete data.state.header.item.alignment; - data.state.header.search.text.justify = data.state.header.search.text.alignment; + data.state.header.search.text.justify = + data.state.header.search.text.alignment; delete data.state.header.search.text.alignment; data.state.link.area.justify = data.state.link.area.alignment; delete data.state.link.area.alignment; @@ -857,7 +878,7 @@ updateLegacy.get = () => { data.state.group.openAll = { show: true, size: 1, - style: 'box' + style: 'box', }; return data; }, @@ -874,10 +895,10 @@ updateLegacy.get = () => { data.bookmarks.forEach(function (arrayItem) { arrayItem.name = { show: data.state.group.name.show, - text: arrayItem.name + text: arrayItem.name, }; arrayItem.openAll = { - show: data.state.group.openAll.show + show: data.state.group.openAll.show, }; }); delete data.state.group.name.show; @@ -885,7 +906,7 @@ updateLegacy.get = () => { data.state.theme.accent.cycle = { active: false, speed: 300, - step: 10 + step: 10, }; data.state.header.clock.separator.text = ':'; data.state.header.date.separator.text = '/'; @@ -929,12 +950,14 @@ updateLegacy.get = () => { return data; }, '5.3.0': function (data) { - data.state.theme.accent.hsl = convertColor.rgb.hsl(data.state.theme.accent.rgb); + data.state.theme.accent.hsl = convertColor.rgb.hsl( + data.state.theme.accent.rgb + ); data.state.theme.custom.all.forEach(function (arrayItem) { arrayItem.accent.rgb = { r: arrayItem.accent.r, g: arrayItem.accent.g, - b: arrayItem.accent.b + b: arrayItem.accent.b, }; arrayItem.accent.hsl = convertColor.rgb.hsl(arrayItem.accent.rgb); arrayItem.accent.hsl.h = Math.round(arrayItem.accent.hsl.h); @@ -950,14 +973,13 @@ updateLegacy.get = () => { data.state.background.image.vignette = { opacity: 0, start: 90, - end: 70 + end: 70, }; return data; }, '5.37.1': function (data) { data.bookmarks.forEach(function (arrayItem) { arrayItem.items.forEach(function (arrayItem) { - if (arrayItem.name == null) { arrayItem.name = ''; } @@ -972,13 +994,13 @@ updateLegacy.get = () => { arrayItem.accent.rgb = { r: arrayItem.accent.color.r, g: arrayItem.accent.color.g, - b: arrayItem.accent.color.b + b: arrayItem.accent.color.b, }; delete arrayItem.accent.color; arrayItem.accent.hsl = { h: 0, s: 0, - l: 0 + l: 0, }; if (arrayItem.accent.override) { arrayItem.accent.by = 'custom'; @@ -991,20 +1013,20 @@ updateLegacy.get = () => { hsl: { h: 0, s: 0, - l: 0 + l: 0, }, rgb: { r: 0, g: 0, - b: 0 - } + b: 0, + }, }; arrayItem.image = ''; arrayItem.visual = { display: arrayItem.display, letter: arrayItem.letter, image: '', - icon: arrayItem.icon + icon: arrayItem.icon, }; delete arrayItem.display; delete arrayItem.letter; @@ -1021,42 +1043,41 @@ updateLegacy.get = () => { if (arrayItem.visual.icon.prefix == null) { arrayItem.visual.icon.prefix = ''; } - }); }); data.state.header.color.hsl = { h: 0, s: 0, - l: 0 + l: 0, }; data.state.link.item.color = { hsl: { h: 0, s: 0, - l: 0 + l: 0, }, rgb: { r: 0, g: 0, - b: 0 - } + b: 0, + }, }; data.state.link.item.accent = { hsl: { h: 0, s: 0, - l: 0 + l: 0, }, rgb: { r: 0, g: 0, - b: 0 - } + b: 0, + }, }; data.state.link.item.display.visual = data.state.link.item.display.letcon; delete data.state.link.item.display.letcon; data.state.link.item.display.visual.image = { - size: 3 + size: 3, }; if (data.state.link.item.display.order == 'letconname') { data.state.link.item.display.order = 'visualname'; @@ -1066,11 +1087,11 @@ updateLegacy.get = () => { data.state.background.color.hsl = { h: 0, s: 0, - l: 0 + l: 0, }; data.state.header.search.engine.custom.queryName = ''; data.state.link.item.display.visual.shadow = { - size: 0 + size: 0, }; return data; }, @@ -1086,7 +1107,7 @@ updateLegacy.get = () => { data.state.link.item.color.opacity = data.state.link.item.opacity; delete data.state.link.item.opacity; data.state.link.item.image = { - opacity: 1 + opacity: 1, }; return data; }, @@ -1112,34 +1133,34 @@ updateLegacy.get = () => { rotate: data.state.link.item.display.rotate, translate: { x: data.state.link.item.display.translate.x, - y: data.state.link.item.display.translate.y + y: data.state.link.item.display.translate.y, }, visual: { show: data.state.link.item.display.visual.show, type: item.visual.display, letter: { size: data.state.link.item.display.visual.letter.size, - text: item.visual.letter + text: item.visual.letter, }, image: { size: data.state.link.item.display.visual.image.size, - url: item.visual.image + url: item.visual.image, }, icon: { size: data.state.link.item.display.visual.icon.size, name: item.visual.icon.name, prefix: item.visual.icon.prefix, - label: item.visual.icon.label + label: item.visual.icon.label, }, shadow: { - size: data.state.link.item.display.visual.shadow.size - } + size: data.state.link.item.display.visual.shadow.size, + }, }, name: { show: data.state.link.item.display.name.show, text: item.name, - size: data.state.link.item.display.name.size - } + size: data.state.link.item.display.name.size, + }, }, url: item.url, accent: { @@ -1147,78 +1168,123 @@ updateLegacy.get = () => { hsl: { h: item.accent.hsl.h, s: item.accent.hsl.s, - l: item.accent.hsl.l + l: item.accent.hsl.l, }, rgb: { r: item.accent.rgb.r, g: item.accent.rgb.g, - b: item.accent.rgb.b - } + b: item.accent.rgb.b, + }, }, color: { by: item.color.by, hsl: { h: item.color.hsl.h, s: item.color.hsl.s, - l: item.color.hsl.l + l: item.color.hsl.l, }, rgb: { r: item.color.rgb.r, g: item.color.rgb.g, - b: item.color.rgb.b + b: item.color.rgb.b, }, - opacity: data.state.link.item.color.opacity + opacity: data.state.link.item.color.opacity, }, image: { url: item.image, - opacity: data.state.link.item.image.opacity + opacity: data.state.link.item.image.opacity, }, wide: item.wide, tall: item.tall, searchMatch: false, - timeStamp: item.timeStamp + timeStamp: item.timeStamp, }; - if ((bookmarkData.display.direction != 'vertical' && bookmarkData.display.direction != 'horizontal') || bookmarkData.display.direction == undefined) { + if ( + (bookmarkData.display.direction != 'vertical' && + bookmarkData.display.direction != 'horizontal') || + bookmarkData.display.direction == undefined + ) { bookmarkData.display.direction = 'vertical'; } - if ((bookmarkData.display.order != 'visualname' && bookmarkData.display.order != 'namevisual') || bookmarkData.display.order == undefined) { + if ( + (bookmarkData.display.order != 'visualname' && + bookmarkData.display.order != 'namevisual') || + bookmarkData.display.order == undefined + ) { bookmarkData.display.order = 'visualname'; } - if ((bookmarkData.display.alignment != 'topleft' && bookmarkData.display.alignment != 'topcenter' && bookmarkData.display.alignment != 'topright' && bookmarkData.display.alignment != 'centerleft' && bookmarkData.display.alignment != 'centercenter' && bookmarkData.display.alignment != 'centerright' && bookmarkData.display.alignment != 'bottomleft' && bookmarkData.display.alignment != 'bottomcenter' && bookmarkData.display.alignment != 'bottomright') || bookmarkData.display.alignment == undefined) { + if ( + (bookmarkData.display.alignment != 'topleft' && + bookmarkData.display.alignment != 'topcenter' && + bookmarkData.display.alignment != 'topright' && + bookmarkData.display.alignment != 'centerleft' && + bookmarkData.display.alignment != 'centercenter' && + bookmarkData.display.alignment != 'centerright' && + bookmarkData.display.alignment != 'bottomleft' && + bookmarkData.display.alignment != 'bottomcenter' && + bookmarkData.display.alignment != 'bottomright') || + bookmarkData.display.alignment == undefined + ) { bookmarkData.display.alignment = 'centercenter'; } - if (typeof bookmarkData.display.gutter != 'number' || bookmarkData.display.gutter == undefined) { + if ( + typeof bookmarkData.display.gutter != 'number' || + bookmarkData.display.gutter == undefined + ) { bookmarkData.display.gutter = 2; } - if (typeof bookmarkData.display.rotate != 'number' || bookmarkData.display.rotate == undefined) { + if ( + typeof bookmarkData.display.rotate != 'number' || + bookmarkData.display.rotate == undefined + ) { bookmarkData.display.rotate = 0; } - if (typeof bookmarkData.display.translate.x != 'number' || bookmarkData.display.translate.x == undefined) { + if ( + typeof bookmarkData.display.translate.x != 'number' || + bookmarkData.display.translate.x == undefined + ) { bookmarkData.display.translate.x = 0; } - if (typeof bookmarkData.display.translate.y != 'number' || bookmarkData.display.translate.y == undefined) { + if ( + typeof bookmarkData.display.translate.y != 'number' || + bookmarkData.display.translate.y == undefined + ) { bookmarkData.display.translate.y = 0; } if (bookmarkData.display.visual.show == undefined) { bookmarkData.display.visual.show = true; } - if ((bookmarkData.display.visual.type != 'letter' && bookmarkData.display.visual.type != 'icon' && bookmarkData.display.visual.type != 'image') || bookmarkData.display.visual.type == undefined) { + if ( + (bookmarkData.display.visual.type != 'letter' && + bookmarkData.display.visual.type != 'icon' && + bookmarkData.display.visual.type != 'image') || + bookmarkData.display.visual.type == undefined + ) { bookmarkData.display.visual.type = 'letter'; } - if (typeof bookmarkData.display.visual.letter.size != 'number' || bookmarkData.display.visual.letter.size == undefined) { + if ( + typeof bookmarkData.display.visual.letter.size != 'number' || + bookmarkData.display.visual.letter.size == undefined + ) { bookmarkData.display.visual.letter.size = 3; } if (bookmarkData.display.visual.letter.text == undefined) { bookmarkData.display.visual.letter.text = ''; } - if (typeof bookmarkData.display.visual.image.size != 'number' || bookmarkData.display.visual.image.size == undefined) { + if ( + typeof bookmarkData.display.visual.image.size != 'number' || + bookmarkData.display.visual.image.size == undefined + ) { bookmarkData.display.visual.image.size = 3; } if (bookmarkData.display.visual.image.url == undefined) { bookmarkData.display.visual.image.url = ''; } - if (typeof bookmarkData.display.visual.icon.size != 'number' || bookmarkData.display.visual.icon.size == undefined) { + if ( + typeof bookmarkData.display.visual.icon.size != 'number' || + bookmarkData.display.visual.icon.size == undefined + ) { bookmarkData.display.visual.icon.size = 3; } if (bookmarkData.display.visual.icon.name == undefined) { @@ -1230,7 +1296,10 @@ updateLegacy.get = () => { if (bookmarkData.display.visual.icon.label == undefined) { bookmarkData.display.visual.icon.label = ''; } - if (typeof bookmarkData.display.visual.shadow.size != 'number' || bookmarkData.display.visual.shadow.size == undefined) { + if ( + typeof bookmarkData.display.visual.shadow.size != 'number' || + bookmarkData.display.visual.shadow.size == undefined + ) { bookmarkData.display.visual.shadow.size = 0; } if (bookmarkData.display.name.show == undefined) { @@ -1239,61 +1308,114 @@ updateLegacy.get = () => { if (bookmarkData.display.name.text == undefined) { bookmarkData.display.name.text = ''; } - if (typeof bookmarkData.display.name.size != 'number' || bookmarkData.display.name.size == undefined) { + if ( + typeof bookmarkData.display.name.size != 'number' || + bookmarkData.display.name.size == undefined + ) { bookmarkData.display.name.size = 0.9; } if (bookmarkData.url == undefined) { bookmarkData.url = ''; } - if ((bookmarkData.accent.by != 'theme' && bookmarkData.accent.by != 'custom') || bookmarkData.accent.by == undefined) { + if ( + (bookmarkData.accent.by != 'theme' && + bookmarkData.accent.by != 'custom') || + bookmarkData.accent.by == undefined + ) { bookmarkData.accent.by = 'theme'; } - if (typeof bookmarkData.accent.hsl.h != 'number' || bookmarkData.accent.hsl.h == undefined) { + if ( + typeof bookmarkData.accent.hsl.h != 'number' || + bookmarkData.accent.hsl.h == undefined + ) { bookmarkData.accent.hsl.h = 0; } - if (typeof bookmarkData.accent.hsl.s != 'number' || bookmarkData.accent.hsl.s == undefined) { + if ( + typeof bookmarkData.accent.hsl.s != 'number' || + bookmarkData.accent.hsl.s == undefined + ) { bookmarkData.accent.hsl.s = 0; } - if (typeof bookmarkData.accent.hsl.l != 'number' || bookmarkData.accent.hsl.l == undefined) { + if ( + typeof bookmarkData.accent.hsl.l != 'number' || + bookmarkData.accent.hsl.l == undefined + ) { bookmarkData.accent.hsl.l = 0; } - if (typeof bookmarkData.accent.rgb.r != 'number' || bookmarkData.accent.rgb.r == undefined) { + if ( + typeof bookmarkData.accent.rgb.r != 'number' || + bookmarkData.accent.rgb.r == undefined + ) { bookmarkData.accent.rgb.r = 0; } - if (typeof bookmarkData.accent.rgb.g != 'number' || bookmarkData.accent.rgb.g == undefined) { + if ( + typeof bookmarkData.accent.rgb.g != 'number' || + bookmarkData.accent.rgb.g == undefined + ) { bookmarkData.accent.rgb.g = 0; } - if (typeof bookmarkData.accent.rgb.b != 'number' || bookmarkData.accent.rgb.b == undefined) { + if ( + typeof bookmarkData.accent.rgb.b != 'number' || + bookmarkData.accent.rgb.b == undefined + ) { bookmarkData.accent.rgb.b = 0; } - if ((bookmarkData.color.by != 'theme' && bookmarkData.color.by != 'custom') || bookmarkData.color.by == undefined) { + if ( + (bookmarkData.color.by != 'theme' && + bookmarkData.color.by != 'custom') || + bookmarkData.color.by == undefined + ) { bookmarkData.color.by = 'theme'; } - if (typeof bookmarkData.color.hsl.h != 'number' || bookmarkData.color.hsl.h == undefined) { + if ( + typeof bookmarkData.color.hsl.h != 'number' || + bookmarkData.color.hsl.h == undefined + ) { bookmarkData.color.hsl.h = 0; } - if (typeof bookmarkData.color.hsl.s != 'number' || bookmarkData.color.hsl.s == undefined) { + if ( + typeof bookmarkData.color.hsl.s != 'number' || + bookmarkData.color.hsl.s == undefined + ) { bookmarkData.color.hsl.s = 0; } - if (typeof bookmarkData.color.hsl.l != 'number' || bookmarkData.color.hsl.l == undefined) { + if ( + typeof bookmarkData.color.hsl.l != 'number' || + bookmarkData.color.hsl.l == undefined + ) { bookmarkData.color.hsl.l = 0; } - if (typeof bookmarkData.color.rgb.r != 'number' || bookmarkData.color.rgb.r == undefined) { + if ( + typeof bookmarkData.color.rgb.r != 'number' || + bookmarkData.color.rgb.r == undefined + ) { bookmarkData.color.rgb.r = 0; } - if (typeof bookmarkData.color.rgb.g != 'number' || bookmarkData.color.rgb.g == undefined) { + if ( + typeof bookmarkData.color.rgb.g != 'number' || + bookmarkData.color.rgb.g == undefined + ) { bookmarkData.color.rgb.g = 0; } - if (typeof bookmarkData.color.rgb.b != 'number' || bookmarkData.color.rgb.b == undefined) { + if ( + typeof bookmarkData.color.rgb.b != 'number' || + bookmarkData.color.rgb.b == undefined + ) { bookmarkData.color.rgb.b = 0; } - if (typeof bookmarkData.color.opacity != 'number' || bookmarkData.color.opacity == undefined) { + if ( + typeof bookmarkData.color.opacity != 'number' || + bookmarkData.color.opacity == undefined + ) { bookmarkData.color.opacity = 1; } if (bookmarkData.image.url == undefined) { bookmarkData.image.url = ''; } - if (typeof bookmarkData.image.opacity != 'number' || bookmarkData.image.opacity == undefined) { + if ( + typeof bookmarkData.image.opacity != 'number' || + bookmarkData.image.opacity == undefined + ) { bookmarkData.image.opacity = 1; } if (bookmarkData.wide == undefined) { @@ -1322,11 +1444,11 @@ updateLegacy.get = () => { type: 'image', opacity: item.image.opacity, image: { - url: item.image.url + url: item.image.url, }, video: { - url: '' - } + url: '', + }, }; if (item.image.url != '') { item.background.show = true; @@ -1346,12 +1468,12 @@ updateLegacy.get = () => { type: data.state.background.image.from, file: { name: data.state.background.image.file.name, - data: data.state.background.image.file.data + data: data.state.background.image.file.data, }, url: data.state.background.image.url, }, video: { - url: '' + url: '', }, blur: data.state.background.image.blur, scale: data.state.background.image.scale, @@ -1361,8 +1483,8 @@ updateLegacy.get = () => { vignette: { opacity: data.state.background.image.vignette.opacity, start: data.state.background.image.vignette.start, - end: data.state.background.image.vignette.end - } + end: data.state.background.image.vignette.end, + }, }; if (data.state.background.image.show) { backgroundData.type = 'image'; @@ -1374,7 +1496,7 @@ updateLegacy.get = () => { '6.5.0': function (data) { data.state.header.greeting.custom = ''; return data; - } + }, }; }; diff --git a/src/component/version/index.js b/src/component/version/index.js index b77a3d1e..13b679cf 100644 --- a/src/component/version/index.js +++ b/src/component/version/index.js @@ -5,13 +5,11 @@ version.number = '7.5.0'; version.name = 'Delightful Komodo Dragon'; version.compare = (a, b) => { - let pa = a.split('.'); let pb = b.split('.'); for (let i = 0; i < 3; i++) { - let na = Number(pa[i]); let nb = Number(pb[i]); @@ -31,7 +29,6 @@ version.compare = (a, b) => { if (isNaN(na) && !isNaN(nb)) { return -1; } - } return 0; diff --git a/src/component/video/index.js b/src/component/video/index.js index 1791bb4d..72c29710 100644 --- a/src/component/video/index.js +++ b/src/component/video/index.js @@ -1,10 +1,7 @@ import { node } from '../../utility/node'; import { isValidString } from '../../utility/isValidString'; -export const Video = function ({ - url = false -} = {}) { - +export const Video = function ({ url = false } = {}) { this.video = node('video|autoplay,loop,muted'); this.source = node('source'); @@ -26,17 +23,14 @@ export const Video = function ({ }; this.autoPause = () => { - if (document.visibilityState === 'visible') { this.video.play(); } else { this.video.pause(); } - }; this.assemble = () => { - this.video.muted = true; this.video.loop = true; @@ -44,37 +38,25 @@ export const Video = function ({ this.video.autoplay = true; if (url.includes('mp4') || url.endsWith('mp4')) { - this.source.type = 'video/mp4'; - } else if (url.includes('webm') || url.endsWith('webm')) { - this.source.type = 'video/webm'; - } if (isValidString(url)) { - this.source.src = url; - } - }; this.bind = {}; this.bind.add = () => { - window.addEventListener('visibilitychange', this.autoPause); - }; this.bind.remove = () => { - window.removeEventListener('visibilitychange', this.autoPause); - }; this.assemble(); - }; diff --git a/src/icon/favicon.svg b/src/icon/favicon.svg index 7fcfaa8e..dc6c55b9 100644 --- a/src/icon/favicon.svg +++ b/src/icon/favicon.svg @@ -1,31 +1 @@ - - - - - - + \ No newline at end of file diff --git a/src/icon/icon-128.png b/src/icon/icon-128.png index cf4509cf..462a0341 100644 Binary files a/src/icon/icon-128.png and b/src/icon/icon-128.png differ diff --git a/src/icon/icon-16.png b/src/icon/icon-16.png index acee7a5a..902480d5 100644 Binary files a/src/icon/icon-16.png and b/src/icon/icon-16.png differ diff --git a/src/icon/icon-48.png b/src/icon/icon-48.png index e848d785..87492465 100644 Binary files a/src/icon/icon-48.png and b/src/icon/icon-48.png differ diff --git a/src/icon/icon-512.png b/src/icon/icon-512.png index 1af33940..28b40959 100644 Binary files a/src/icon/icon-512.png and b/src/icon/icon-512.png differ diff --git a/src/icon/icon-512.svg b/src/icon/icon-512.svg index fea36249..095796a7 100644 --- a/src/icon/icon-512.svg +++ b/src/icon/icon-512.svg @@ -1,31 +1 @@ - - - - - - + \ No newline at end of file diff --git a/src/index.html b/src/index.html index 35a56832..9de5e0a3 100644 --- a/src/index.html +++ b/src/index.html @@ -1,22 +1,43 @@ - - - - - - - - New Tab - - - - - - - - - - - + + + + + + New Tab + + + + + + + + + diff --git a/src/index.js b/src/index.js index 18d4dfc6..a96c20e9 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,11 @@ import { component } from './component'; import { APP_NAME } from './constant'; -console.log(APP_NAME + ' version:', component.version.number, component.version.name); +console.log( + APP_NAME + ' version:', + component.version.number, + component.version.name +); component.data.init(); diff --git a/src/style/font/index.css b/src/style/font/index.css index 76ba0e20..5c522af6 100644 --- a/src/style/font/index.css +++ b/src/style/font/index.css @@ -4,9 +4,7 @@ font-weight: 400; font-style: normal; font-display: swap; - src: - local("Open Sans Regular"), - local("OpenSans-Regular"), + src: local("Open Sans Regular"), local("OpenSans-Regular"), url("../../font/open-sans/open-sans-400.woff") format("woff"), url("../../font/open-sans/open-sans-400.woff2") format("woff2"), url("../../font/open-sans/open-sans-400.ttf") format("truetype"); @@ -18,8 +16,7 @@ font-weight: 400; font-style: normal; font-display: swap; - src: - local("Fjalla One"), + src: local("Fjalla One"), url("../../font/fjalla-one/fjalla-one-400.woff") format("woff"), url("../../font/fjalla-one/fjalla-one-400.woff2") format("woff2"), url("../../font/fjalla-one/fjalla-one-400.ttf") format("truetype"); diff --git a/src/style/reset/index.css b/src/style/reset/index.css index b07930ad..c3364550 100644 --- a/src/style/reset/index.css +++ b/src/style/reset/index.css @@ -12,13 +12,24 @@ html { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { +article, +aside, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section { display: block; } body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + "Helvetica Neue", Arial, Noto Sans, sans-serif, "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; @@ -37,7 +48,12 @@ hr { overflow: visible; } -h1, h2, h3, h4, h5, h6 { +h1, +h2, +h3, +h4, +h5, +h6 { margin-top: 0; margin-bottom: 0.5rem; } @@ -82,7 +98,7 @@ dt { } dd { - margin-bottom: .5rem; + margin-bottom: 0.5rem; margin-left: 0; } @@ -108,11 +124,11 @@ sup { } sub { - bottom: -.25em; + bottom: -0.25em; } sup { - top: -.5em; + top: -0.5em; } a { @@ -131,7 +147,8 @@ a:not([href]):not([tabindex]) { text-decoration: none; } -a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { +a:not([href]):not([tabindex]):hover, +a:not([href]):not([tabindex]):focus { color: inherit; text-decoration: none; } @@ -144,7 +161,8 @@ pre, code, kbd, samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", + "Courier New", monospace; font-size: 1em; } @@ -265,7 +283,7 @@ legend { width: 100%; max-width: 100%; padding: 0; - margin-bottom: .5rem; + margin-bottom: 0.5rem; font-size: 1.5rem; line-height: inherit; color: inherit; diff --git a/src/style/typography/index.css b/src/style/typography/index.css index d0778ac6..9e7a6abf 100644 --- a/src/style/typography/index.css +++ b/src/style/typography/index.css @@ -126,8 +126,8 @@ li { margin: 0; } -li>ul, -li>ol { +li > ul, +li > ol { margin: 0; } @@ -135,8 +135,8 @@ li:not(:last-child) { margin-bottom: 0.5em; } -li>ul:not(:last-child), -li>ol:not(:last-child) { +li > ul:not(:last-child), +li > ol:not(:last-child) { margin-bottom: 0.5em; } diff --git a/src/utility/applyCSSClass.js b/src/utility/applyCSSClass.js index 2bddc548..563e3959 100644 --- a/src/utility/applyCSSClass.js +++ b/src/utility/applyCSSClass.js @@ -2,35 +2,34 @@ import { state } from '../component/state'; import { get } from './get'; export const applyCSSClass = (path) => { - const html = document.querySelector('html'); const apply = (path) => { - get({ object: state.get.option(), - path: path + path: path, }).forEach((item) => { - - html.classList.remove('is-' + path.replace(/\./g, '-').toLowerCase() + '-' + item); - + html.classList.remove( + 'is-' + path.replace(/\./g, '-').toLowerCase() + '-' + item + ); }); - html.classList.add('is-' + path.replace(/\./g, '-').toLowerCase() + '-' + get({ - object: state.get.current(), - path: path - })); - + html.classList.add( + 'is-' + + path.replace(/\./g, '-').toLowerCase() + + '-' + + get({ + object: state.get.current(), + path: path, + }) + ); }; if (Array.isArray(path)) { - - path.forEach((item) => { apply(item); }); - + path.forEach((item) => { + apply(item); + }); } else { - apply(path); - } - }; diff --git a/src/utility/applyCSSState.js b/src/utility/applyCSSState.js index 199f97f3..3fac96cc 100644 --- a/src/utility/applyCSSState.js +++ b/src/utility/applyCSSState.js @@ -2,31 +2,21 @@ import { state } from '../component/state'; import { get } from './get'; export const applyCSSState = (path) => { - const html = document.querySelector('html'); const apply = (path) => { - if (get({ object: state.get.current(), path: path })) { - html.classList.add('is-' + path.replace(/\./g, '-').toLowerCase()); - } else { - html.classList.remove('is-' + path.replace(/\./g, '-').toLowerCase()); - } - }; if (Array.isArray(path)) { - - path.forEach((item) => { apply(item); }); - + path.forEach((item) => { + apply(item); + }); } else { - apply(path); - } - }; diff --git a/src/utility/applyCSSVar.js b/src/utility/applyCSSVar.js index 02afba3d..00994ec0 100644 --- a/src/utility/applyCSSVar.js +++ b/src/utility/applyCSSVar.js @@ -2,26 +2,23 @@ import { state } from '../component/state'; import { get } from './get'; export const applyCSSVar = (path) => { - const html = document.querySelector('html'); const apply = (path) => { - - html.style.setProperty('--' + path.replace(/\./g, '-').toLowerCase(), get({ - object: state.get.current(), - path: path - })); - + html.style.setProperty( + '--' + path.replace(/\./g, '-').toLowerCase(), + get({ + object: state.get.current(), + path: path, + }) + ); }; if (Array.isArray(path)) { - - path.forEach((item) => { apply(item); }); - + path.forEach((item) => { + apply(item); + }); } else { - apply(path); - } - }; diff --git a/src/utility/averageColor.js b/src/utility/averageColor.js index b16767c8..3fddc002 100644 --- a/src/utility/averageColor.js +++ b/src/utility/averageColor.js @@ -1,9 +1,13 @@ -export const averageColor = function(rgb1, rgb2) { - +export const averageColor = function (rgb1, rgb2) { return { - r: Math.round(Math.sqrt(Math.pow(rgb1.r, 1.75) + Math.pow(rgb2.r, 1.75) / 2)), - g: Math.round(Math.sqrt(Math.pow(rgb1.g, 1.75) + Math.pow(rgb2.g, 1.75) / 2)), - b: Math.round(Math.sqrt(Math.pow(rgb1.b, 1.75) + Math.pow(rgb2.b, 1.75) / 2)) + r: Math.round( + Math.sqrt(Math.pow(rgb1.r, 1.75) + Math.pow(rgb2.r, 1.75) / 2) + ), + g: Math.round( + Math.sqrt(Math.pow(rgb1.g, 1.75) + Math.pow(rgb2.g, 1.75) / 2) + ), + b: Math.round( + Math.sqrt(Math.pow(rgb1.b, 1.75) + Math.pow(rgb2.b, 1.75) / 2) + ), }; - }; diff --git a/src/utility/clearChildNode.js b/src/utility/clearChildNode.js index 5ea9b3e3..92bd9e7a 100644 --- a/src/utility/clearChildNode.js +++ b/src/utility/clearChildNode.js @@ -1,7 +1,5 @@ export const clearChildNode = (element) => { - while (element.lastChild) { element.removeChild(element.lastChild); } - }; diff --git a/src/utility/complexNode.js b/src/utility/complexNode.js index d52e9b01..5e600933 100644 --- a/src/utility/complexNode.js +++ b/src/utility/complexNode.js @@ -3,59 +3,45 @@ export const complexNode = ({ text = false, complexText = false, attr = [], - node = [] + node = [], } = {}) => { - const element = document.createElement(tag); if (text) { - if (complexText) { - element.innerHTML = text; - } else { - let textNode = document.createTextNode(text); element.appendChild(textNode); - } - } if (attr.length > 0) { attr.forEach((item) => { - if ('key' in item && 'value' in item) { element.setAttribute(item.key, item.value); } else if ('key' in item) { element.setAttribute(item.key, ''); } - }); } if (node) { if (typeof node != 'string') { if (node.length > 0) { - node.forEach((item) => { if (item instanceof HTMLElement) { element.appendChild(item); } }); - } else { - if (node instanceof HTMLElement) { element.appendChild(node); } - } } } return element; - }; diff --git a/src/utility/convertColor.js b/src/utility/convertColor.js index 32d3c0b4..9f7e3a9a 100644 --- a/src/utility/convertColor.js +++ b/src/utility/convertColor.js @@ -1,7 +1,7 @@ export const convertColor = { rgb: {}, hsl: {}, - hex: {} + hex: {}, }; convertColor.rgb.hsl = (rgb) => { @@ -43,14 +43,15 @@ convertColor.rgb.hsl = (rgb) => { return { h: Math.round(h), s: Math.round(s * 100), - l: Math.round(l * 100) + l: Math.round(l * 100), }; }; convertColor.rgb.hex = (args) => { - var integer = ((Math.round(args.r) & 0xFF) << 16) + - ((Math.round(args.g) & 0xFF) << 8) + - (Math.round(args.b) & 0xFF); + var integer = + ((Math.round(args.r) & 0xff) << 16) + + ((Math.round(args.g) & 0xff) << 8) + + (Math.round(args.b) & 0xff); var string = integer.toString(16); @@ -70,7 +71,7 @@ convertColor.hsl.rgb = (hsl) => { return { r: Math.round(val), g: Math.round(val), - b: Math.round(val) + b: Math.round(val), }; } @@ -85,7 +86,7 @@ convertColor.hsl.rgb = (hsl) => { var rgb = [0, 0, 0]; for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); + t3 = h + (1 / 3) * -(i - 1); if (t3 < 0) { t3++; @@ -111,7 +112,7 @@ convertColor.hsl.rgb = (hsl) => { return { r: Math.round(rgb[0]), g: Math.round(rgb[1]), - b: Math.round(rgb[2]) + b: Math.round(rgb[2]), }; }; @@ -122,26 +123,29 @@ convertColor.hex.rgb = (args) => { return { r: 0, g: 0, - b: 0 + b: 0, }; } var colorString = match[0]; if (match[0].length === 3) { - colorString = colorString.split('').map((char) => { - return char + char; - }).join(''); + colorString = colorString + .split('') + .map((char) => { + return char + char; + }) + .join(''); } var integer = parseInt(colorString, 16); - var r = (integer >> 16) & 0xFF; - var g = (integer >> 8) & 0xFF; - var b = integer & 0xFF; + var r = (integer >> 16) & 0xff; + var g = (integer >> 8) & 0xff; + var b = integer & 0xff; return { r: r, g: g, - b: b + b: b, }; }; diff --git a/src/utility/dateTime.js b/src/utility/dateTime.js index 5a34fe80..35b6f5ee 100644 --- a/src/utility/dateTime.js +++ b/src/utility/dateTime.js @@ -1,8 +1,20 @@ export const dateTime = () => { - const date = new Date(); - const month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + const month = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; return { // string: date.constructor(), @@ -15,7 +27,6 @@ export const dateTime = () => { minutes: date.getMinutes(), month: date.getMonth(), monthString: month[date.getMonth()], - seconds: date.getSeconds() + seconds: date.getSeconds(), }; - }; diff --git a/src/utility/get.js b/src/utility/get.js index e9858aae..35643ffe 100644 --- a/src/utility/get.js +++ b/src/utility/get.js @@ -1,16 +1,10 @@ import { makePath } from './makePath.js'; -export const get = ({ - object = null, - path = null -} = {}) => { - +export const get = ({ object = null, path = null } = {}) => { const address = makePath(path); const getValue = () => { - while (address.length > 1) { - // shift off and store the first key let currentKey = address.shift(); @@ -26,7 +20,6 @@ export const get = ({ // drill down the object with the first key object = object[currentKey]; - } let finalKey = address.shift(); @@ -36,7 +29,6 @@ export const get = ({ } else { return object[finalKey]; } - }; if (object != null && path != null) { @@ -44,5 +36,4 @@ export const get = ({ } else { return false; } - }; diff --git a/src/utility/isJson.js b/src/utility/isJson.js index 05d85e77..971d6563 100644 --- a/src/utility/isJson.js +++ b/src/utility/isJson.js @@ -1,5 +1,4 @@ export const isJson = (string) => { - try { JSON.parse(string); } catch (error) { @@ -7,5 +6,4 @@ export const isJson = (string) => { } return true; - }; diff --git a/src/utility/makePath.js b/src/utility/makePath.js index 532740b7..0a4e99a4 100644 --- a/src/utility/makePath.js +++ b/src/utility/makePath.js @@ -1,12 +1,16 @@ export const makePath = (string) => { - if (string) { - let array; if (string.indexOf('[') != -1 && string.indexOf(']') != -1) { - - array = string.split('.').join(',').split('[').join(',').split(']').join(',').split(','); + array = string + .split('.') + .join(',') + .split('[') + .join(',') + .split(']') + .join(',') + .split(','); for (var i = 0; i < array.length; i++) { if (array[i] == '') { @@ -16,19 +20,12 @@ export const makePath = (string) => { array[i] = parseInt(array[i], 10); } } - } else { - array = string.split('.'); - } return array; - } else { - return false; - } - }; diff --git a/src/utility/minMax.js b/src/utility/minMax.js index 62a70a06..1edff7b3 100644 --- a/src/utility/minMax.js +++ b/src/utility/minMax.js @@ -1,25 +1,11 @@ -export const minMax = ({ - min = 0, - max = 0, - value = 0 -} = {}) => { - +export const minMax = ({ min = 0, max = 0, value = 0 } = {}) => { if (value > max) { - return max; - } else if (value < min) { - return min; - } else if (isNaN(value)) { - return min; - } else { - return value; - } - }; diff --git a/src/utility/node.js b/src/utility/node.js index b90ab524..e05b92b3 100644 --- a/src/utility/node.js +++ b/src/utility/node.js @@ -1,5 +1,4 @@ export const node = (string, node) => { - // set element let tag; @@ -27,83 +26,73 @@ export const node = (string, node) => { element.innerHTML = text; } - let attributes = string.slice(string.indexOf('|') + 1, string.length).split(','); + let attributes = string + .slice(string.indexOf('|') + 1, string.length) + .split(','); // set attributes if (string.indexOf('|') > 0 && string.indexOf('|') < string.length - 1) { - attributes.forEach((item, i) => { if (item.indexOf(':') > 0) { // if key and value - var pair = item.substring(0, item.indexOf(':')) + ',' + item.substring(item.indexOf(':') + 1, item.length); + var pair = + item.substring(0, item.indexOf(':')) + + ',' + + item.substring(item.indexOf(':') + 1, item.length); pair = pair.split(','); attributes[i] = { key: pair[0], - value: pair[1] + value: pair[1], }; } else { // if key only attributes[i] = { key: item, - value: undefined + value: undefined, }; } }); attributes.forEach((item) => { - if ('key' in item && item.key != undefined && 'value' in item && item.value != undefined) { + if ( + 'key' in item && + item.key != undefined && + 'value' in item && + item.value != undefined + ) { element.setAttribute(item.key, item.value); } else if ('key' in item && item.key != undefined) { element.setAttribute(item.key, ''); } }); - } if (node) { - if (typeof node != 'string') { - if (node.length > 0) { - node.forEach((item) => { - if (item instanceof HTMLElement) { - element.appendChild(item); - } else { - let div = document.createElement('div'); div.innerHTML = item; element.appendChild(div.firstChild); - } - }); - } else { - if (node instanceof HTMLElement) { - element.appendChild(node); - } else { - let div = document.createElement('div'); div.innerHTML = node; element.appendChild(div.firstChild); - } - } - } - } return element; diff --git a/src/utility/ordinalNumber.js b/src/utility/ordinalNumber.js index 3ff14ecf..84dc4516 100644 --- a/src/utility/ordinalNumber.js +++ b/src/utility/ordinalNumber.js @@ -1,5 +1,4 @@ export const ordinalNumber = (number) => { - var j = number % 10; var k = number % 100; @@ -17,5 +16,4 @@ export const ordinalNumber = (number) => { } return number + 'th'; - }; diff --git a/src/utility/ordinalWord.js b/src/utility/ordinalWord.js index 889a9e39..c418d4a2 100644 --- a/src/utility/ordinalWord.js +++ b/src/utility/ordinalWord.js @@ -1,12 +1,12 @@ export const ordinalWord = (word) => { - const endsWithDoubleZeroPattern = /(hundred|thousand|(m|b|tr|quadr)illion)$/; const endsWithTeenPattern = /teen$/; const endsWithYPattern = /y$/; - const endsWithZeroThroughTwelvePattern = /(Zero|One|Two|Three|Four|Five|Six|Seven|Eight|Nine|Ten|Eleven|Twelve)$/; + const endsWithZeroThroughTwelvePattern = + /(Zero|One|Two|Three|Four|Five|Six|Seven|Eight|Nine|Ten|Eleven|Twelve)$/; const ordinalLessThanThirteen = { Zero: 'Zeroth', @@ -21,7 +21,7 @@ export const ordinalWord = (word) => { Nine: 'Ninth', Ten: 'Tenth', Eleven: 'Eleventh', - Twelve: 'Twelfth' + Twelve: 'Twelfth', }; const replaceWithOrdinalVariant = (match, numberWord) => { @@ -36,9 +36,11 @@ export const ordinalWord = (word) => { return word.replace(endsWithYPattern, 'ieth'); // Ends with one through twelve } else if (endsWithZeroThroughTwelvePattern.test(word)) { - return word.replace(endsWithZeroThroughTwelvePattern, replaceWithOrdinalVariant); + return word.replace( + endsWithZeroThroughTwelvePattern, + replaceWithOrdinalVariant + ); } return word; - }; diff --git a/src/utility/randomNumber.js b/src/utility/randomNumber.js index 28925588..eb1949bf 100644 --- a/src/utility/randomNumber.js +++ b/src/utility/randomNumber.js @@ -1,5 +1,3 @@ export const randomNumber = (min, max) => { - return Math.floor(Math.random() * (max - min + 1) + min); - }; diff --git a/src/utility/randomString.js b/src/utility/randomString.js index 608a9133..a10396d9 100644 --- a/src/utility/randomString.js +++ b/src/utility/randomString.js @@ -1,162 +1,1527 @@ export const randomString = ({ letter = false, - adjectivesCount = false + adjectivesCount = false, } = {}) => { - - const alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; + const alphabet = [ + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p', + 'q', + 'r', + 's', + 't', + 'u', + 'v', + 'w', + 'x', + 'y', + 'z', + ]; const adjectives = { - a: ['Aback', 'Abaft', 'Abandoned', 'Abashed', 'Aberrant', 'Abhorrent', 'Abiding', 'Abject', 'Ablaze', 'Able', 'Abnormal', 'Aboriginal', 'Abortive', 'Abounding', 'Abrasive', 'Abrupt', 'Absent', 'Absorbed', 'Absorbing', 'Abstracted', 'Absurd', 'Abundant', 'Abusive', 'Acceptable', 'Accessible', 'Accidental', 'Accurate', 'Acid', 'Acidic', 'Acoustic', 'Acrid', 'Adamant', 'Adaptable', 'Adhesive', 'Adjoining', 'Adorable', 'Adventurous', 'Afraid', 'Aggressive', 'Agonizing', 'Agreeable', 'Ahead', 'Ajar', 'Alert', 'Alike', 'Alive', 'Alleged', 'Alluring', 'Aloof', 'Amazing', 'Ambiguous', 'Ambitious', 'Amuck', 'Amused', 'Amusing', 'Ancient', 'Angry', 'Animated', 'Annoyed', 'Annoying', 'Anxious', 'Apathetic', 'Aquatic', 'Aromatic', 'Arrogant', 'Ashamed', 'Aspiring', 'Assorted', 'Astonishing', 'Attractive', 'Auspicious', 'Automatic', 'Available', 'Average', 'Aware', 'Awesome', 'Axiomatic'], - b: ['Bad', 'Barbarous', 'Bashful', 'Bawdy', 'Beautiful', 'Befitting', 'Belligerent', 'Beneficial', 'Bent', 'Berserk', 'Bewildered', 'Big', 'Billowy', 'Bitter', 'Bizarre', 'Black', 'Bloody', 'Blue', 'Blushing', 'Boiling', 'Boorish', 'Bored', 'Boring', 'Bouncy', 'Boundless', 'Brainy', 'Brash', 'Brave', 'Brawny', 'Breakable', 'Breezy', 'Brief', 'Bright', 'Broad', 'Broken', 'Brown', 'Bumpy', 'Burly', 'Bustling', 'Busy'], - c: ['Cagey', 'Calculating', 'Callous', 'Calm', 'Capable', 'Capricious', 'Careful', 'Careless', 'Caring', 'Cautious', 'Ceaseless', 'Certain', 'Changeable', 'Charming', 'Cheap', 'Cheerful', 'Chemical', 'Chief', 'Childlike', 'Chilly', 'Chivalrous', 'Chubby', 'Chunky', 'Clammy', 'Classy', 'Clean', 'Clear', 'Clever', 'Cloistered', 'Cloudy', 'Closed', 'Clumsy', 'Cluttered', 'Coherent', 'Cold', 'Colorful', 'Colossal', 'Combative', 'Comfortable', 'Common', 'Complete', 'Complex', 'Concerned', 'Condemned', 'Confused', 'Conscious', 'Cooing', 'Cool', 'Cooperative', 'Coordinated', 'Courageous', 'Cowardly', 'Crabby', 'Craven', 'Crazy', 'Creepy', 'Crooked', 'Crowded', 'Cruel', 'Cuddly', 'Cultured', 'Cumbersome', 'Curious', 'Curly', 'Curved', 'Curvy', 'Cut', 'Cute', 'Cynical'], - d: ['Daffy', 'Daily', 'Damaged', 'Damaging', 'Damp', 'Dangerous', 'Dapper', 'Dark', 'Dashing', 'Dazzling', 'Deadpan', 'Deafening', 'Dear', 'Debonair', 'Decisive', 'Decorous', 'Deep', 'Deeply', 'Defeated', 'Defective', 'Defiant', 'Delicate', 'Delicious', 'Delightful', 'Demonic', 'Delirious', 'Dependent', 'Depressed', 'Deranged', 'Descriptive', 'Deserted', 'Detailed', 'Determined', 'Devilish', 'Didactic', 'Different', 'Difficult', 'Diligent', 'Direful', 'Dirty', 'Disagreeable', 'Disastrous', 'Discreet', 'Disgusted', 'Disgusting', 'Disillusioned', 'Dispensable', 'Distinct', 'Disturbed', 'Divergent', 'Dizzy', 'Domineering', 'Doubtful', 'Drab', 'Draconian', 'Dramatic', 'Dreary', 'Drunk', 'Dry', 'Dull', 'Dusty', 'Dynamic', 'Dysfunctional'], - e: ['Eager', 'Early', 'Earsplitting', 'Earthy', 'Easy', 'Eatable', 'Economic', 'Educated', 'Efficacious', 'Efficient', 'Elastic', 'Elated', 'Elderly', 'Electric', 'Elegant', 'Elfin', 'Elite', 'Embarrassed', 'Eminent', 'Empty', 'Enchanted', 'Enchanting', 'Encouraging', 'Endurable', 'Energetic', 'Enormous', 'Entertaining', 'Enthusiastic', 'Envious', 'Equable', 'Equal', 'Erratic', 'Ethereal', 'Evanescent', 'Evasive', 'Even', 'Excellent', 'Excited', 'Exciting', 'Exclusive', 'Exotic', 'Expensive', 'Exuberant', 'Exultant'], - f: ['Fabulous', 'Faded', 'Faint', 'Fair', 'Faithful', 'Fallacious', 'False', 'Familiar', 'Famous', 'Fanatical', 'Fancy', 'Fantastic', 'Far', 'Fascinated', 'Fast', 'Fat', 'Faulty', 'Fearful', 'Fearless', 'Feeble', 'Feigned', 'Fertile', 'Festive', 'Few', 'Fierce', 'Filthy', 'Fine', 'Finicky', 'First', 'Fixed', 'Flagrant', 'Flaky', 'Flashy', 'Flat', 'Flawless', 'Flimsy', 'Flippant', 'Flowery', 'Fluffy', 'Fluttering', 'Foamy', 'Foolish', 'Foregoing', 'Forgetful', 'Fortunate', 'Frail', 'Fragile', 'Frantic', 'Free', 'Freezing', 'Frequent', 'Fresh', 'Fretful', 'Friendly', 'Frightened', 'Frightening', 'Full', 'Fumbling', 'Functional', 'Funny', 'Furry', 'Furtive', 'Future', 'Futuristic', 'Fuzzy'], - g: ['Gabby', 'Gainful', 'Gamy', 'Garrulous', 'Gaudy', 'General', 'Gentle', 'Giant', 'Giddy', 'Gifted', 'Gigantic', 'Glamorous', 'Gleaming', 'Glib', 'Glistening', 'Glorious', 'Glossy', 'Good', 'Goofy', 'Gorgeous', 'Graceful', 'Grandiose', 'Grateful', 'Gratis', 'Gray', 'Greasy', 'Great', 'Greedy', 'Green', 'Grey', 'Grieving', 'Groovy', 'Grotesque', 'Grouchy', 'Grubby', 'Gruesome', 'Grumpy', 'Guarded', 'Guiltless', 'Gullible', 'Gusty', 'Guttural'], - h: ['Habitual', 'Half', 'Hallowed', 'Halting', 'Handsome', 'Handy', 'Hapless', 'Happy', 'Hard', 'Harmonious', 'Harsh', 'Hateful', 'Heady', 'Healthy', 'Heartbreaking', 'Heavenly', 'Heavy', 'Hellish', 'Helpful', 'Helpless', 'Hesitant', 'Hideous', 'High', 'Highfalutin', 'Hilarious', 'Hissing', 'Historical', 'Holistic', 'Hollow', 'Homeless', 'Homely', 'Honorable', 'Horrible', 'Hospitable', 'Hot', 'Huge', 'Hulking', 'Humdrum', 'Humorous', 'Hungry', 'Hurried', 'Hurt', 'Hushed', 'Husky', 'Hypnotic', 'Hysterical'], - i: ['Icky', 'Icy', 'Idiotic', 'Ignorant', 'Ill', 'Illegal', 'Illustrious', 'Imaginary', 'Immense', 'Imminent', 'Impartial', 'Imperfect', 'Impolite', 'Important', 'Imported', 'Impossible', 'Incandescent', 'Incompetent', 'Inconclusive', 'Industrious', 'Incredible', 'Inexpensive', 'Infamous', 'Innate', 'Innocent', 'Inquisitive', 'Insidious', 'Instinctive', 'Intelligent', 'Interesting', 'Internal', 'Invincible', 'Irate', 'Irritating', 'Itchy'], - j: ['Jaded', 'Jagged', 'Jazzy', 'Jealous', 'Jesting', 'Jinxed', 'Jittery', 'Jobless', 'Jolly', 'Joyous', 'Judicious', 'Juicy', 'Jumbled', 'Jumpy', 'Juvenile'], - k: ['Keen', 'Kind', 'Kindhearted', 'Kindly', 'Knotty', 'Knowing', 'Knowledgeable', 'Known'], - l: ['Labored', 'Lackadaisical', 'Lacking', 'Lame', 'Lamentable', 'Languid', 'Large', 'Last', 'Late', 'Laughable', 'Lavish', 'Lazy', 'Lean', 'Learned', 'Left', 'Legal', 'Lethal', 'Level', 'Lewd', 'Light', 'Like', 'Likeable', 'Limping', 'Literate', 'Little', 'Lively', 'Living', 'Lonely', 'Long', 'Longing', 'Loose', 'Lopsided', 'Loud', 'Loutish', 'Lovely', 'Loving', 'Low', 'Lowly', 'Lucky', 'Ludicrous', 'Lumpy', 'Lush', 'Luxuriant', 'Lying', 'Lyrical'], - m: ['Macabre', 'Macho', 'Maddening', 'Madly', 'Magenta', 'Magical', 'Magnificent', 'Majestic', 'Makeshift', 'Malicious', 'Mammoth', 'Maniacal', 'Many', 'Marked', 'Massive', 'Married', 'Marvelous', 'Material', 'Materialistic', 'Mature', 'Mean', 'Measly', 'Meaty', 'Medical', 'Meek', 'Mellow', 'Melodic', 'Melted', 'Merciful', 'Mere', 'Messy', 'Mighty', 'Military', 'Milky', 'Mindless', 'Miniature', 'Minor', 'Miscreant', 'Misty', 'Mixed', 'Moaning', 'Modern', 'Moldy', 'Momentous', 'Motionless', 'Mountainous', 'Muddled', 'Mundane', 'Murky', 'Mushy', 'Mute', 'Mysterious'], - n: ['Naive', 'Nappy', 'Narrow', 'Nasty', 'Natural', 'Naughty', 'Nauseating', 'Near', 'Neat', 'Nebulous', 'Necessary', 'Needless', 'Needy', 'Neighborly', 'Nervous', 'New', 'Next', 'Nice', 'Nifty', 'Nimble', 'Nippy', 'Noiseless', 'Noisy', 'Nonchalant', 'Nondescript', 'Nonstop', 'Normal', 'Nostalgic', 'Nosy', 'Noxious', 'Numberless', 'Numerous', 'Nutritious', 'Nutty'], - o: ['Oafish', 'Obedient', 'Obeisant', 'Obese', 'Obnoxious', 'Obscene', 'Obsequious', 'Observant', 'Obsolete', 'Obtainable', 'Oceanic', 'Odd', 'Offbeat', 'Old', 'Omniscient', 'Onerous', 'Open', 'Opposite', 'Optimal', 'Orange', 'Ordinary', 'Organic', 'Ossified', 'Outgoing', 'Outrageous', 'Outstanding', 'Oval', 'Overconfident', 'Overjoyed', 'Overrated', 'Overt', 'Overwrought'], - p: ['Painful', 'Painstaking', 'Pale', 'Paltry', 'Panicky', 'Panoramic', 'Parallel', 'Parched', 'Parsimonious', 'Past', 'Pastoral', 'Pathetic', 'Peaceful', 'Penitent', 'Perfect', 'Periodic', 'Permissible', 'Perpetual', 'Petite', 'Phobic', 'Physical', 'Picayune', 'Pink', 'Piquant', 'Placid', 'Plain', 'Plant', 'Plastic', 'Plausible', 'Pleasant', 'Plucky', 'Pointless', 'Poised', 'Polite', 'Political', 'Poor', 'Possessive', 'Possible', 'Powerful', 'Precious', 'Premium', 'Present', 'Pretty', 'Previous', 'Pricey', 'Prickly', 'Private', 'Probable', 'Productive', 'Profuse', 'Protective', 'Proud', 'Psychedelic', 'Psychotic', 'Public', 'Puffy', 'Pumped', 'Puny', 'Purple', 'Purring', 'Pushy', 'Puzzled', 'Puzzling'], - q: ['Quaint', 'Quality', 'Quarrelsome', 'Questionable', 'Questioning', 'Quick', 'Quiet', 'Quirky', 'Quixotic', 'Quizzical'], - r: ['Rabid', 'Ragged', 'Rainy', 'Rambunctious', 'Rampant', 'Rapid', 'Rare', 'Raspy', 'Ratty', 'Ready', 'Real', 'Rebel', 'Receptive', 'Recondite', 'Red', 'Redundant', 'Reflective', 'Regular', 'Relieved', 'Remarkable', 'Reminiscent', 'Repulsive', 'Resolute', 'Resonant', 'Responsible', 'Rhetorical', 'Rich', 'Right', 'Righteous', 'Rightful', 'Rigid', 'Ripe', 'Ritzy', 'Roasted', 'Robust', 'Romantic', 'Roomy', 'Rotten', 'Rough', 'Round', 'Royal', 'Ruddy', 'Rude', 'Rural', 'Rustic', 'Ruthless'], - s: ['Sable', 'Sad', 'Safe', 'Salty', 'Same', 'Sassy', 'Satisfying', 'Savory', 'Scandalous', 'Scarce', 'Scared', 'Scary', 'Scattered', 'Scientific', 'Scintillating', 'Scrawny', 'Screeching', 'Second', 'Secret', 'Secretive', 'Sedate', 'Seemly', 'Selective', 'Selfish', 'Separate', 'Serious', 'Shaggy', 'Shaky', 'Shallow', 'Sharp', 'Shiny', 'Shivering', 'Shocking', 'Short', 'Shrill', 'Shut', 'Shy', 'Sick', 'Silent', 'Silky', 'Silly', 'Simple', 'Simplistic', 'Sincere', 'Skillful', 'Skinny', 'Sleepy', 'Slim', 'Slimy', 'Slippery', 'Sloppy', 'Slow', 'Small', 'Smart', 'Smelly', 'Smiling', 'Smoggy', 'Smooth', 'Sneaky', 'Snobbish', 'Snotty', 'Soft', 'Soggy', 'Solid', 'Somber', 'Sophisticated', 'Sordid', 'Sore', 'Sour', 'Sparkling', 'Special', 'Spectacular', 'Spicy', 'Spiffy', 'Spiky', 'Spiritual', 'Spiteful', 'Splendid', 'Spooky', 'Spotless', 'Spotted', 'Spotty', 'Spurious', 'Squalid', 'Square', 'Squealing', 'Squeamish', 'Staking', 'Stale', 'Standing', 'Statuesque', 'Steadfast', 'Steady', 'Steep', 'Stereotyped', 'Sticky', 'Stiff', 'Stimulating', 'Stingy', 'Stormy', 'Straight', 'Strange', 'Striped', 'Strong', 'Stupendous', 'Sturdy', 'Subdued', 'Subsequent', 'Substantial', 'Successful', 'Succinct', 'Sudden', 'Sulky', 'Super', 'Superb', 'Superficial', 'Supreme', 'Swanky', 'Sweet', 'Sweltering', 'Swift', 'Symptomatic', 'Synonymous'], - t: ['Taboo', 'Tacit', 'Tacky', 'Talented', 'Tall', 'Tame', 'Tan', 'Tangible', 'Tangy', 'Tart', 'Tasteful', 'Tasteless', 'Tasty', 'Tawdry', 'Tearful', 'Tedious', 'Teeny', 'Telling', 'Temporary', 'Ten', 'Tender', 'Tense', 'Tenuous', 'Terrific', 'Tested', 'Testy', 'Thankful', 'Therapeutic', 'Thick', 'Thin', 'Thinkable', 'Third', 'Thirsty', 'Thoughtful', 'Thoughtless', 'Threatening', 'Thundering', 'Tidy', 'Tight', 'Tightfisted', 'Tiny', 'Tired', 'Tiresome', 'Toothsome', 'Torpid', 'Tough', 'Towering', 'Tranquil', 'Trashy', 'Tremendous', 'Tricky', 'Trite', 'Troubled', 'Truculent', 'True', 'Truthful', 'Typical'], - u: ['Ubiquitous', 'Ultra', 'Unable', 'Unaccountable', 'Unadvised', 'Unarmed', 'Unbecoming', 'Unbiased', 'Uncovered', 'Understood', 'Undesirable', 'Unequal', 'Unequaled', 'Uneven', 'Unhealthy', 'Uninterested', 'Unique', 'Unkempt', 'Unknown', 'Unnatural', 'Unruly', 'Unsightly', 'Unsuitable', 'Untidy', 'Unused', 'Unusual', 'Unwieldy', 'Unwritten', 'Upbeat', 'Uppity', 'Upset', 'Uptight', 'Used', 'Useful', 'Useless', 'Utopian'], - v: ['Vacuous', 'Vagabond', 'Vague', 'Valuable', 'Various', 'Vast', 'Vengeful', 'Venomous', 'Verdant', 'Versed', 'Victorious', 'Vigorous', 'Violent', 'Violet', 'Vivacious', 'Voiceless', 'Volatile', 'Voracious', 'Vulgar'], - w: ['Wacky', 'Waggish', 'Waiting', 'Wakeful', 'Wandering', 'Wanting', 'Warlike', 'Warm', 'Wary', 'Wasteful', 'Watery', 'Weak', 'Wealthy', 'Weary', 'Wet', 'Whimsical', 'Whispering', 'White', 'Whole', 'Wholesale', 'Wicked', 'Wide', 'Wiggly', 'Wild', 'Willing', 'Windy', 'Wiry', 'Wise', 'Wistful', 'Witty', 'Woebegone', 'Wonderful', 'Wooden', 'Woozy', 'Workable', 'Worried', 'Worthless', 'Wrathful', 'Wretched', 'Wrong', 'Wry'], + a: [ + 'Aback', + 'Abaft', + 'Abandoned', + 'Abashed', + 'Aberrant', + 'Abhorrent', + 'Abiding', + 'Abject', + 'Ablaze', + 'Able', + 'Abnormal', + 'Aboriginal', + 'Abortive', + 'Abounding', + 'Abrasive', + 'Abrupt', + 'Absent', + 'Absorbed', + 'Absorbing', + 'Abstracted', + 'Absurd', + 'Abundant', + 'Abusive', + 'Acceptable', + 'Accessible', + 'Accidental', + 'Accurate', + 'Acid', + 'Acidic', + 'Acoustic', + 'Acrid', + 'Adamant', + 'Adaptable', + 'Adhesive', + 'Adjoining', + 'Adorable', + 'Adventurous', + 'Afraid', + 'Aggressive', + 'Agonizing', + 'Agreeable', + 'Ahead', + 'Ajar', + 'Alert', + 'Alike', + 'Alive', + 'Alleged', + 'Alluring', + 'Aloof', + 'Amazing', + 'Ambiguous', + 'Ambitious', + 'Amuck', + 'Amused', + 'Amusing', + 'Ancient', + 'Angry', + 'Animated', + 'Annoyed', + 'Annoying', + 'Anxious', + 'Apathetic', + 'Aquatic', + 'Aromatic', + 'Arrogant', + 'Ashamed', + 'Aspiring', + 'Assorted', + 'Astonishing', + 'Attractive', + 'Auspicious', + 'Automatic', + 'Available', + 'Average', + 'Aware', + 'Awesome', + 'Axiomatic', + ], + b: [ + 'Bad', + 'Barbarous', + 'Bashful', + 'Bawdy', + 'Beautiful', + 'Befitting', + 'Belligerent', + 'Beneficial', + 'Bent', + 'Berserk', + 'Bewildered', + 'Big', + 'Billowy', + 'Bitter', + 'Bizarre', + 'Black', + 'Bloody', + 'Blue', + 'Blushing', + 'Boiling', + 'Boorish', + 'Bored', + 'Boring', + 'Bouncy', + 'Boundless', + 'Brainy', + 'Brash', + 'Brave', + 'Brawny', + 'Breakable', + 'Breezy', + 'Brief', + 'Bright', + 'Broad', + 'Broken', + 'Brown', + 'Bumpy', + 'Burly', + 'Bustling', + 'Busy', + ], + c: [ + 'Cagey', + 'Calculating', + 'Callous', + 'Calm', + 'Capable', + 'Capricious', + 'Careful', + 'Careless', + 'Caring', + 'Cautious', + 'Ceaseless', + 'Certain', + 'Changeable', + 'Charming', + 'Cheap', + 'Cheerful', + 'Chemical', + 'Chief', + 'Childlike', + 'Chilly', + 'Chivalrous', + 'Chubby', + 'Chunky', + 'Clammy', + 'Classy', + 'Clean', + 'Clear', + 'Clever', + 'Cloistered', + 'Cloudy', + 'Closed', + 'Clumsy', + 'Cluttered', + 'Coherent', + 'Cold', + 'Colorful', + 'Colossal', + 'Combative', + 'Comfortable', + 'Common', + 'Complete', + 'Complex', + 'Concerned', + 'Condemned', + 'Confused', + 'Conscious', + 'Cooing', + 'Cool', + 'Cooperative', + 'Coordinated', + 'Courageous', + 'Cowardly', + 'Crabby', + 'Craven', + 'Crazy', + 'Creepy', + 'Crooked', + 'Crowded', + 'Cruel', + 'Cuddly', + 'Cultured', + 'Cumbersome', + 'Curious', + 'Curly', + 'Curved', + 'Curvy', + 'Cut', + 'Cute', + 'Cynical', + ], + d: [ + 'Daffy', + 'Daily', + 'Damaged', + 'Damaging', + 'Damp', + 'Dangerous', + 'Dapper', + 'Dark', + 'Dashing', + 'Dazzling', + 'Deadpan', + 'Deafening', + 'Dear', + 'Debonair', + 'Decisive', + 'Decorous', + 'Deep', + 'Deeply', + 'Defeated', + 'Defective', + 'Defiant', + 'Delicate', + 'Delicious', + 'Delightful', + 'Demonic', + 'Delirious', + 'Dependent', + 'Depressed', + 'Deranged', + 'Descriptive', + 'Deserted', + 'Detailed', + 'Determined', + 'Devilish', + 'Didactic', + 'Different', + 'Difficult', + 'Diligent', + 'Direful', + 'Dirty', + 'Disagreeable', + 'Disastrous', + 'Discreet', + 'Disgusted', + 'Disgusting', + 'Disillusioned', + 'Dispensable', + 'Distinct', + 'Disturbed', + 'Divergent', + 'Dizzy', + 'Domineering', + 'Doubtful', + 'Drab', + 'Draconian', + 'Dramatic', + 'Dreary', + 'Drunk', + 'Dry', + 'Dull', + 'Dusty', + 'Dynamic', + 'Dysfunctional', + ], + e: [ + 'Eager', + 'Early', + 'Earsplitting', + 'Earthy', + 'Easy', + 'Eatable', + 'Economic', + 'Educated', + 'Efficacious', + 'Efficient', + 'Elastic', + 'Elated', + 'Elderly', + 'Electric', + 'Elegant', + 'Elfin', + 'Elite', + 'Embarrassed', + 'Eminent', + 'Empty', + 'Enchanted', + 'Enchanting', + 'Encouraging', + 'Endurable', + 'Energetic', + 'Enormous', + 'Entertaining', + 'Enthusiastic', + 'Envious', + 'Equable', + 'Equal', + 'Erratic', + 'Ethereal', + 'Evanescent', + 'Evasive', + 'Even', + 'Excellent', + 'Excited', + 'Exciting', + 'Exclusive', + 'Exotic', + 'Expensive', + 'Exuberant', + 'Exultant', + ], + f: [ + 'Fabulous', + 'Faded', + 'Faint', + 'Fair', + 'Faithful', + 'Fallacious', + 'False', + 'Familiar', + 'Famous', + 'Fanatical', + 'Fancy', + 'Fantastic', + 'Far', + 'Fascinated', + 'Fast', + 'Fat', + 'Faulty', + 'Fearful', + 'Fearless', + 'Feeble', + 'Feigned', + 'Fertile', + 'Festive', + 'Few', + 'Fierce', + 'Filthy', + 'Fine', + 'Finicky', + 'First', + 'Fixed', + 'Flagrant', + 'Flaky', + 'Flashy', + 'Flat', + 'Flawless', + 'Flimsy', + 'Flippant', + 'Flowery', + 'Fluffy', + 'Fluttering', + 'Foamy', + 'Foolish', + 'Foregoing', + 'Forgetful', + 'Fortunate', + 'Frail', + 'Fragile', + 'Frantic', + 'Free', + 'Freezing', + 'Frequent', + 'Fresh', + 'Fretful', + 'Friendly', + 'Frightened', + 'Frightening', + 'Full', + 'Fumbling', + 'Functional', + 'Funny', + 'Furry', + 'Furtive', + 'Future', + 'Futuristic', + 'Fuzzy', + ], + g: [ + 'Gabby', + 'Gainful', + 'Gamy', + 'Garrulous', + 'Gaudy', + 'General', + 'Gentle', + 'Giant', + 'Giddy', + 'Gifted', + 'Gigantic', + 'Glamorous', + 'Gleaming', + 'Glib', + 'Glistening', + 'Glorious', + 'Glossy', + 'Good', + 'Goofy', + 'Gorgeous', + 'Graceful', + 'Grandiose', + 'Grateful', + 'Gratis', + 'Gray', + 'Greasy', + 'Great', + 'Greedy', + 'Green', + 'Grey', + 'Grieving', + 'Groovy', + 'Grotesque', + 'Grouchy', + 'Grubby', + 'Gruesome', + 'Grumpy', + 'Guarded', + 'Guiltless', + 'Gullible', + 'Gusty', + 'Guttural', + ], + h: [ + 'Habitual', + 'Half', + 'Hallowed', + 'Halting', + 'Handsome', + 'Handy', + 'Hapless', + 'Happy', + 'Hard', + 'Harmonious', + 'Harsh', + 'Hateful', + 'Heady', + 'Healthy', + 'Heartbreaking', + 'Heavenly', + 'Heavy', + 'Hellish', + 'Helpful', + 'Helpless', + 'Hesitant', + 'Hideous', + 'High', + 'Highfalutin', + 'Hilarious', + 'Hissing', + 'Historical', + 'Holistic', + 'Hollow', + 'Homeless', + 'Homely', + 'Honorable', + 'Horrible', + 'Hospitable', + 'Hot', + 'Huge', + 'Hulking', + 'Humdrum', + 'Humorous', + 'Hungry', + 'Hurried', + 'Hurt', + 'Hushed', + 'Husky', + 'Hypnotic', + 'Hysterical', + ], + i: [ + 'Icky', + 'Icy', + 'Idiotic', + 'Ignorant', + 'Ill', + 'Illegal', + 'Illustrious', + 'Imaginary', + 'Immense', + 'Imminent', + 'Impartial', + 'Imperfect', + 'Impolite', + 'Important', + 'Imported', + 'Impossible', + 'Incandescent', + 'Incompetent', + 'Inconclusive', + 'Industrious', + 'Incredible', + 'Inexpensive', + 'Infamous', + 'Innate', + 'Innocent', + 'Inquisitive', + 'Insidious', + 'Instinctive', + 'Intelligent', + 'Interesting', + 'Internal', + 'Invincible', + 'Irate', + 'Irritating', + 'Itchy', + ], + j: [ + 'Jaded', + 'Jagged', + 'Jazzy', + 'Jealous', + 'Jesting', + 'Jinxed', + 'Jittery', + 'Jobless', + 'Jolly', + 'Joyous', + 'Judicious', + 'Juicy', + 'Jumbled', + 'Jumpy', + 'Juvenile', + ], + k: [ + 'Keen', + 'Kind', + 'Kindhearted', + 'Kindly', + 'Knotty', + 'Knowing', + 'Knowledgeable', + 'Known', + ], + l: [ + 'Labored', + 'Lackadaisical', + 'Lacking', + 'Lame', + 'Lamentable', + 'Languid', + 'Large', + 'Last', + 'Late', + 'Laughable', + 'Lavish', + 'Lazy', + 'Lean', + 'Learned', + 'Left', + 'Legal', + 'Lethal', + 'Level', + 'Lewd', + 'Light', + 'Like', + 'Likeable', + 'Limping', + 'Literate', + 'Little', + 'Lively', + 'Living', + 'Lonely', + 'Long', + 'Longing', + 'Loose', + 'Lopsided', + 'Loud', + 'Loutish', + 'Lovely', + 'Loving', + 'Low', + 'Lowly', + 'Lucky', + 'Ludicrous', + 'Lumpy', + 'Lush', + 'Luxuriant', + 'Lying', + 'Lyrical', + ], + m: [ + 'Macabre', + 'Macho', + 'Maddening', + 'Madly', + 'Magenta', + 'Magical', + 'Magnificent', + 'Majestic', + 'Makeshift', + 'Malicious', + 'Mammoth', + 'Maniacal', + 'Many', + 'Marked', + 'Massive', + 'Married', + 'Marvelous', + 'Material', + 'Materialistic', + 'Mature', + 'Mean', + 'Measly', + 'Meaty', + 'Medical', + 'Meek', + 'Mellow', + 'Melodic', + 'Melted', + 'Merciful', + 'Mere', + 'Messy', + 'Mighty', + 'Military', + 'Milky', + 'Mindless', + 'Miniature', + 'Minor', + 'Miscreant', + 'Misty', + 'Mixed', + 'Moaning', + 'Modern', + 'Moldy', + 'Momentous', + 'Motionless', + 'Mountainous', + 'Muddled', + 'Mundane', + 'Murky', + 'Mushy', + 'Mute', + 'Mysterious', + ], + n: [ + 'Naive', + 'Nappy', + 'Narrow', + 'Nasty', + 'Natural', + 'Naughty', + 'Nauseating', + 'Near', + 'Neat', + 'Nebulous', + 'Necessary', + 'Needless', + 'Needy', + 'Neighborly', + 'Nervous', + 'New', + 'Next', + 'Nice', + 'Nifty', + 'Nimble', + 'Nippy', + 'Noiseless', + 'Noisy', + 'Nonchalant', + 'Nondescript', + 'Nonstop', + 'Normal', + 'Nostalgic', + 'Nosy', + 'Noxious', + 'Numberless', + 'Numerous', + 'Nutritious', + 'Nutty', + ], + o: [ + 'Oafish', + 'Obedient', + 'Obeisant', + 'Obese', + 'Obnoxious', + 'Obscene', + 'Obsequious', + 'Observant', + 'Obsolete', + 'Obtainable', + 'Oceanic', + 'Odd', + 'Offbeat', + 'Old', + 'Omniscient', + 'Onerous', + 'Open', + 'Opposite', + 'Optimal', + 'Orange', + 'Ordinary', + 'Organic', + 'Ossified', + 'Outgoing', + 'Outrageous', + 'Outstanding', + 'Oval', + 'Overconfident', + 'Overjoyed', + 'Overrated', + 'Overt', + 'Overwrought', + ], + p: [ + 'Painful', + 'Painstaking', + 'Pale', + 'Paltry', + 'Panicky', + 'Panoramic', + 'Parallel', + 'Parched', + 'Parsimonious', + 'Past', + 'Pastoral', + 'Pathetic', + 'Peaceful', + 'Penitent', + 'Perfect', + 'Periodic', + 'Permissible', + 'Perpetual', + 'Petite', + 'Phobic', + 'Physical', + 'Picayune', + 'Pink', + 'Piquant', + 'Placid', + 'Plain', + 'Plant', + 'Plastic', + 'Plausible', + 'Pleasant', + 'Plucky', + 'Pointless', + 'Poised', + 'Polite', + 'Political', + 'Poor', + 'Possessive', + 'Possible', + 'Powerful', + 'Precious', + 'Premium', + 'Present', + 'Pretty', + 'Previous', + 'Pricey', + 'Prickly', + 'Private', + 'Probable', + 'Productive', + 'Profuse', + 'Protective', + 'Proud', + 'Psychedelic', + 'Psychotic', + 'Public', + 'Puffy', + 'Pumped', + 'Puny', + 'Purple', + 'Purring', + 'Pushy', + 'Puzzled', + 'Puzzling', + ], + q: [ + 'Quaint', + 'Quality', + 'Quarrelsome', + 'Questionable', + 'Questioning', + 'Quick', + 'Quiet', + 'Quirky', + 'Quixotic', + 'Quizzical', + ], + r: [ + 'Rabid', + 'Ragged', + 'Rainy', + 'Rambunctious', + 'Rampant', + 'Rapid', + 'Rare', + 'Raspy', + 'Ratty', + 'Ready', + 'Real', + 'Rebel', + 'Receptive', + 'Recondite', + 'Red', + 'Redundant', + 'Reflective', + 'Regular', + 'Relieved', + 'Remarkable', + 'Reminiscent', + 'Repulsive', + 'Resolute', + 'Resonant', + 'Responsible', + 'Rhetorical', + 'Rich', + 'Right', + 'Righteous', + 'Rightful', + 'Rigid', + 'Ripe', + 'Ritzy', + 'Roasted', + 'Robust', + 'Romantic', + 'Roomy', + 'Rotten', + 'Rough', + 'Round', + 'Royal', + 'Ruddy', + 'Rude', + 'Rural', + 'Rustic', + 'Ruthless', + ], + s: [ + 'Sable', + 'Sad', + 'Safe', + 'Salty', + 'Same', + 'Sassy', + 'Satisfying', + 'Savory', + 'Scandalous', + 'Scarce', + 'Scared', + 'Scary', + 'Scattered', + 'Scientific', + 'Scintillating', + 'Scrawny', + 'Screeching', + 'Second', + 'Secret', + 'Secretive', + 'Sedate', + 'Seemly', + 'Selective', + 'Selfish', + 'Separate', + 'Serious', + 'Shaggy', + 'Shaky', + 'Shallow', + 'Sharp', + 'Shiny', + 'Shivering', + 'Shocking', + 'Short', + 'Shrill', + 'Shut', + 'Shy', + 'Sick', + 'Silent', + 'Silky', + 'Silly', + 'Simple', + 'Simplistic', + 'Sincere', + 'Skillful', + 'Skinny', + 'Sleepy', + 'Slim', + 'Slimy', + 'Slippery', + 'Sloppy', + 'Slow', + 'Small', + 'Smart', + 'Smelly', + 'Smiling', + 'Smoggy', + 'Smooth', + 'Sneaky', + 'Snobbish', + 'Snotty', + 'Soft', + 'Soggy', + 'Solid', + 'Somber', + 'Sophisticated', + 'Sordid', + 'Sore', + 'Sour', + 'Sparkling', + 'Special', + 'Spectacular', + 'Spicy', + 'Spiffy', + 'Spiky', + 'Spiritual', + 'Spiteful', + 'Splendid', + 'Spooky', + 'Spotless', + 'Spotted', + 'Spotty', + 'Spurious', + 'Squalid', + 'Square', + 'Squealing', + 'Squeamish', + 'Staking', + 'Stale', + 'Standing', + 'Statuesque', + 'Steadfast', + 'Steady', + 'Steep', + 'Stereotyped', + 'Sticky', + 'Stiff', + 'Stimulating', + 'Stingy', + 'Stormy', + 'Straight', + 'Strange', + 'Striped', + 'Strong', + 'Stupendous', + 'Sturdy', + 'Subdued', + 'Subsequent', + 'Substantial', + 'Successful', + 'Succinct', + 'Sudden', + 'Sulky', + 'Super', + 'Superb', + 'Superficial', + 'Supreme', + 'Swanky', + 'Sweet', + 'Sweltering', + 'Swift', + 'Symptomatic', + 'Synonymous', + ], + t: [ + 'Taboo', + 'Tacit', + 'Tacky', + 'Talented', + 'Tall', + 'Tame', + 'Tan', + 'Tangible', + 'Tangy', + 'Tart', + 'Tasteful', + 'Tasteless', + 'Tasty', + 'Tawdry', + 'Tearful', + 'Tedious', + 'Teeny', + 'Telling', + 'Temporary', + 'Ten', + 'Tender', + 'Tense', + 'Tenuous', + 'Terrific', + 'Tested', + 'Testy', + 'Thankful', + 'Therapeutic', + 'Thick', + 'Thin', + 'Thinkable', + 'Third', + 'Thirsty', + 'Thoughtful', + 'Thoughtless', + 'Threatening', + 'Thundering', + 'Tidy', + 'Tight', + 'Tightfisted', + 'Tiny', + 'Tired', + 'Tiresome', + 'Toothsome', + 'Torpid', + 'Tough', + 'Towering', + 'Tranquil', + 'Trashy', + 'Tremendous', + 'Tricky', + 'Trite', + 'Troubled', + 'Truculent', + 'True', + 'Truthful', + 'Typical', + ], + u: [ + 'Ubiquitous', + 'Ultra', + 'Unable', + 'Unaccountable', + 'Unadvised', + 'Unarmed', + 'Unbecoming', + 'Unbiased', + 'Uncovered', + 'Understood', + 'Undesirable', + 'Unequal', + 'Unequaled', + 'Uneven', + 'Unhealthy', + 'Uninterested', + 'Unique', + 'Unkempt', + 'Unknown', + 'Unnatural', + 'Unruly', + 'Unsightly', + 'Unsuitable', + 'Untidy', + 'Unused', + 'Unusual', + 'Unwieldy', + 'Unwritten', + 'Upbeat', + 'Uppity', + 'Upset', + 'Uptight', + 'Used', + 'Useful', + 'Useless', + 'Utopian', + ], + v: [ + 'Vacuous', + 'Vagabond', + 'Vague', + 'Valuable', + 'Various', + 'Vast', + 'Vengeful', + 'Venomous', + 'Verdant', + 'Versed', + 'Victorious', + 'Vigorous', + 'Violent', + 'Violet', + 'Vivacious', + 'Voiceless', + 'Volatile', + 'Voracious', + 'Vulgar', + ], + w: [ + 'Wacky', + 'Waggish', + 'Waiting', + 'Wakeful', + 'Wandering', + 'Wanting', + 'Warlike', + 'Warm', + 'Wary', + 'Wasteful', + 'Watery', + 'Weak', + 'Wealthy', + 'Weary', + 'Wet', + 'Whimsical', + 'Whispering', + 'White', + 'Whole', + 'Wholesale', + 'Wicked', + 'Wide', + 'Wiggly', + 'Wild', + 'Willing', + 'Windy', + 'Wiry', + 'Wise', + 'Wistful', + 'Witty', + 'Woebegone', + 'Wonderful', + 'Wooden', + 'Woozy', + 'Workable', + 'Worried', + 'Worthless', + 'Wrathful', + 'Wretched', + 'Wrong', + 'Wry', + ], x: ['Xenial', 'Xenodochial', 'Xenophobic'], y: ['Yellow', 'Yielding', 'Young', 'Youthful', 'Yummy'], - z: ['Zany', 'Zealous', 'Zesty', 'Zippy', 'Zombiesque', 'Zombie', 'Zonked'] + z: ['Zany', 'Zealous', 'Zesty', 'Zippy', 'Zombiesque', 'Zombie', 'Zonked'], }; const animals = { - a: ['Aardvark', 'Albatross', 'Alligator', 'Alpaca', 'Ant', 'Anteater', 'Antelope', 'Ape', 'Armadillo'], - b: ['Baboon', 'Badger', 'Barracuda', 'Bat', 'Bear', 'Beaver', 'Bee', 'Bison', 'Boar', 'Buffalo', 'Butterfly'], - c: ['Camel', 'Capybara', 'Caribou', 'Cassowary', 'Cat', 'Caterpillar', 'Cattle', 'Chamois', 'Cheetah', 'Chicken', 'Chimpanzee', 'Chinchilla', 'Chough', 'Clam', 'Cobra', 'Cockroach', 'Cod', 'Cormorant', 'Coyote', 'Crab', 'Crane', 'Crocodile', 'Crow', 'Curlew'], - d: ['Deer', 'Dinosaur', 'Dog', 'Dogfish', 'Dolphin', 'Donkey', 'Dotterel', 'Dove', 'Dragonfly', 'Duck', 'Dugong', 'Dunlin'], - e: ['Eagle', 'Echidna', 'Eel', 'Eland', 'Elephant', 'Elephant Seal', 'Elk', 'Emu'], + a: [ + 'Aardvark', + 'Albatross', + 'Alligator', + 'Alpaca', + 'Ant', + 'Anteater', + 'Antelope', + 'Ape', + 'Armadillo', + ], + b: [ + 'Baboon', + 'Badger', + 'Barracuda', + 'Bat', + 'Bear', + 'Beaver', + 'Bee', + 'Bison', + 'Boar', + 'Buffalo', + 'Butterfly', + ], + c: [ + 'Camel', + 'Capybara', + 'Caribou', + 'Cassowary', + 'Cat', + 'Caterpillar', + 'Cattle', + 'Chamois', + 'Cheetah', + 'Chicken', + 'Chimpanzee', + 'Chinchilla', + 'Chough', + 'Clam', + 'Cobra', + 'Cockroach', + 'Cod', + 'Cormorant', + 'Coyote', + 'Crab', + 'Crane', + 'Crocodile', + 'Crow', + 'Curlew', + ], + d: [ + 'Deer', + 'Dinosaur', + 'Dog', + 'Dogfish', + 'Dolphin', + 'Donkey', + 'Dotterel', + 'Dove', + 'Dragonfly', + 'Duck', + 'Dugong', + 'Dunlin', + ], + e: [ + 'Eagle', + 'Echidna', + 'Eel', + 'Eland', + 'Elephant', + 'Elephant Seal', + 'Elk', + 'Emu', + ], f: ['Falcon', 'Ferret', 'Finch', 'Fish', 'Flamingo', 'Fly', 'Fox', 'Frog'], - g: ['Gaur', 'Gazelle', 'Gerbil', 'Giant Panda', 'Giraffe', 'Gnat', 'Gnu', 'Goat', 'Goose', 'Goldfinch', 'Goldfish', 'Gorilla', 'Goshawk', 'Grasshopper', 'Grouse', 'Guanaco', 'Guinea Fowl', 'Guinea Pig', 'Gull'], - h: ['Hamster', 'Hare', 'Hawk', 'Hedgehog', 'Heron', 'Herring', 'Hippopotamus', 'Hornet', 'Horse', 'Human', 'Hummingbird', 'Hyena'], + g: [ + 'Gaur', + 'Gazelle', + 'Gerbil', + 'Giant Panda', + 'Giraffe', + 'Gnat', + 'Gnu', + 'Goat', + 'Goose', + 'Goldfinch', + 'Goldfish', + 'Gorilla', + 'Goshawk', + 'Grasshopper', + 'Grouse', + 'Guanaco', + 'Guinea Fowl', + 'Guinea Pig', + 'Gull', + ], + h: [ + 'Hamster', + 'Hare', + 'Hawk', + 'Hedgehog', + 'Heron', + 'Herring', + 'Hippopotamus', + 'Hornet', + 'Horse', + 'Human', + 'Hummingbird', + 'Hyena', + ], i: ['Ibex', 'Ibis', 'Iguana', 'Impala', 'Isopod'], j: ['Jackal', 'Jaguar', 'Jay', 'Jellyfish'], - k: ['Kangaroo', 'Kingfisher', 'Koala', 'Komodo Dragon', 'Kookabura', 'Kouprey', 'Kudu'], - l: ['Lapwing', 'Lark', 'Lemur', 'Leopard', 'Lima', 'Lion', 'Llama', 'Lobster', 'Locust', 'Loris', 'Louse', 'Lyrebird'], - m: ['Magpie', 'Mallard', 'Manatee', 'Mandrill', 'Mantis', 'Marten', 'Meerkat', 'Mink', 'Mole', 'Mongoose', 'Monkey', 'Moose', 'Mouse', 'Mosquito', 'Mule'], + k: [ + 'Kangaroo', + 'Kingfisher', + 'Koala', + 'Komodo Dragon', + 'Kookabura', + 'Kouprey', + 'Kudu', + ], + l: [ + 'Lapwing', + 'Lark', + 'Lemur', + 'Leopard', + 'Lima', + 'Lion', + 'Llama', + 'Lobster', + 'Locust', + 'Loris', + 'Louse', + 'Lyrebird', + ], + m: [ + 'Magpie', + 'Mallard', + 'Manatee', + 'Mandrill', + 'Mantis', + 'Marten', + 'Meerkat', + 'Mink', + 'Mole', + 'Mongoose', + 'Monkey', + 'Moose', + 'Mouse', + 'Mosquito', + 'Mule', + ], n: ['Narwhal', 'Newt', 'Nightingale', 'Nyala'], - o: ['Octopus', 'Okapi', 'Opossum', 'Oryx', 'Ostrich', 'Otter', 'Owl', 'Ox', 'Oyster'], - p: ['Panther', 'Parrot', 'Partridge', 'Peafowl', 'Pelican', 'Penguin', 'Pheasant', 'Pig', 'Pigeon', 'Polar Bear', 'Pony', 'Porcupine', 'Porpoise'], + o: [ + 'Octopus', + 'Okapi', + 'Opossum', + 'Oryx', + 'Ostrich', + 'Otter', + 'Owl', + 'Ox', + 'Oyster', + ], + p: [ + 'Panther', + 'Parrot', + 'Partridge', + 'Peafowl', + 'Pelican', + 'Penguin', + 'Pheasant', + 'Pig', + 'Pigeon', + 'Polar Bear', + 'Pony', + 'Porcupine', + 'Porpoise', + ], q: ['Quail', 'Quelea', 'Quetzal'], - r: ['Rabbit', 'Raccoon', 'Rail', 'Ram', 'Rat', 'Raven', 'Red Deer', 'Red Panda', 'Reindeer', 'Rhinoceros', 'Rook'], - s: ['Salamander', 'Salmon', 'Sand Dollar', 'Sandpiper', 'Sardine', 'Scorpion', 'Sea Lion', 'Sea Urchin', 'Seahorse', 'Seal', 'Shark', 'Sheep', 'Shrew', 'Skunk', 'Snail', 'Snake', 'Sparrow', 'Spider', 'Spoonbill', 'Squid', 'Squirrel', 'Starling', 'Stingray', 'Stinkbug', 'Stork', 'Swallow', 'Swan'], - t: ['Tapir', 'Tarsier', 'Termite', 'Tiger', 'Toad', 'Trout', 'Turkey', 'Turtle'], - u: ['Uakari', 'Unau', 'Urial', 'Urchin', 'Umbrellabird', 'Unicornfish', 'Uromastyx', 'Uguisu'], + r: [ + 'Rabbit', + 'Raccoon', + 'Rail', + 'Ram', + 'Rat', + 'Raven', + 'Red Deer', + 'Red Panda', + 'Reindeer', + 'Rhinoceros', + 'Rook', + ], + s: [ + 'Salamander', + 'Salmon', + 'Sand Dollar', + 'Sandpiper', + 'Sardine', + 'Scorpion', + 'Sea Lion', + 'Sea Urchin', + 'Seahorse', + 'Seal', + 'Shark', + 'Sheep', + 'Shrew', + 'Skunk', + 'Snail', + 'Snake', + 'Sparrow', + 'Spider', + 'Spoonbill', + 'Squid', + 'Squirrel', + 'Starling', + 'Stingray', + 'Stinkbug', + 'Stork', + 'Swallow', + 'Swan', + ], + t: [ + 'Tapir', + 'Tarsier', + 'Termite', + 'Tiger', + 'Toad', + 'Trout', + 'Turkey', + 'Turtle', + ], + u: [ + 'Uakari', + 'Unau', + 'Urial', + 'Urchin', + 'Umbrellabird', + 'Unicornfish', + 'Uromastyx', + 'Uguisu', + ], v: ['Vampire Bat', 'Viper', 'Vole', 'Vulture'], - w: ['Wallaby', 'Walrus', 'Wasp', 'Weasel', 'Whale', 'Wolf', 'Wolverine', 'Wombat', 'Woodcock', 'Woodpecker', 'Worm', 'Wren'], + w: [ + 'Wallaby', + 'Walrus', + 'Wasp', + 'Weasel', + 'Whale', + 'Wolf', + 'Wolverine', + 'Wombat', + 'Woodcock', + 'Woodpecker', + 'Worm', + 'Wren', + ], x: ['Xaviers Greenbul', 'Xeme', 'Xingu Corydoras', 'Xolo'], y: ['Yabby', 'Yak', 'Yellowhammer', 'Yellowjacket'], - z: ['Zebra', 'Zebu', 'Zokor', 'Zorilla'] + z: ['Zebra', 'Zebu', 'Zokor', 'Zorilla'], }; const action = { alliteration: { short: () => { + const randomAdjective = + adjectives[letter.toLowerCase()][ + Math.floor(Math.random() * adjectives[letter.toLowerCase()].length) + ]; - const randomAdjective = adjectives[letter.toLowerCase()][Math.floor(Math.random() * adjectives[letter.toLowerCase()].length)]; - - const randomAnimal = animals[letter.toLowerCase()][Math.floor(Math.random() * animals[letter.toLowerCase()].length)]; + const randomAnimal = + animals[letter.toLowerCase()][ + Math.floor(Math.random() * animals[letter.toLowerCase()].length) + ]; return randomAdjective + ' ' + randomAnimal; - }, long: () => { - let randomAdjective = ''; for (let i = 1; i <= adjectivesCount; i++) { - if (adjectives[letter.toLowerCase()].length > 0) { if (randomAdjective.length > 0) { randomAdjective = randomAdjective + ' '; } - randomAdjective = randomAdjective + adjectives[letter.toLowerCase()].splice(Math.floor(Math.random() * adjectives[letter.toLowerCase()].length), 1); + randomAdjective = + randomAdjective + + adjectives[letter.toLowerCase()].splice( + Math.floor( + Math.random() * adjectives[letter.toLowerCase()].length + ), + 1 + ); } - } - const randomAnimal = animals[letter.toLowerCase()][Math.floor(Math.random() * animals[letter.toLowerCase()].length)]; + const randomAnimal = + animals[letter.toLowerCase()][ + Math.floor(Math.random() * animals[letter.toLowerCase()].length) + ]; return randomAdjective + ' ' + randomAnimal; - } + }, }, mix: { short: () => { + const adjectivesSeed = + alphabet[Math.floor(Math.random() * (alphabet.length - 1))]; - const adjectivesSeed = alphabet[Math.floor(Math.random() * (alphabet.length - 1))]; - - const animalsSeed = alphabet[Math.floor(Math.random() * (alphabet.length - 1))]; + const animalsSeed = + alphabet[Math.floor(Math.random() * (alphabet.length - 1))]; - const randomAdjective = adjectives[adjectivesSeed][Math.floor(Math.random() * adjectives[adjectivesSeed].length)]; + const randomAdjective = + adjectives[adjectivesSeed][ + Math.floor(Math.random() * adjectives[adjectivesSeed].length) + ]; - const randomAnimal = animals[animalsSeed][Math.floor(Math.random() * animals[animalsSeed].length)]; + const randomAnimal = + animals[animalsSeed][ + Math.floor(Math.random() * animals[animalsSeed].length) + ]; return randomAdjective + ' ' + randomAnimal; - }, long: () => { - var randomAdjective = ''; for (let i = 1; i <= adjectivesCount; i++) { + var adjectiveLetter = + alphabet[Math.floor(Math.random() * (alphabet.length - 1))]; - var adjectiveLetter = alphabet[Math.floor(Math.random() * (alphabet.length - 1))]; - - if (adjectiveLetter in adjectives && adjectives[adjectiveLetter].length > 0) { - + if ( + adjectiveLetter in adjectives && + adjectives[adjectiveLetter].length > 0 + ) { if (randomAdjective.length > 0) { randomAdjective = randomAdjective + ' '; } - randomAdjective = randomAdjective + adjectives[adjectiveLetter].splice(Math.floor(Math.random() * adjectives[adjectiveLetter].length), 1); + randomAdjective = + randomAdjective + + adjectives[adjectiveLetter].splice( + Math.floor(Math.random() * adjectives[adjectiveLetter].length), + 1 + ); if (adjectives[adjectiveLetter].length == 0) { delete adjectives[adjectiveLetter]; } - } } - var randomAnimalArray = animals[alphabet[Math.floor(Math.random() * (alphabet.length - 1))]]; + var randomAnimalArray = + animals[alphabet[Math.floor(Math.random() * (alphabet.length - 1))]]; - var randomAnimal = randomAnimalArray[Math.floor(Math.random() * (randomAnimalArray.length - 1))]; + var randomAnimal = + randomAnimalArray[ + Math.floor(Math.random() * (randomAnimalArray.length - 1)) + ]; return randomAdjective + ' ' + randomAnimal; - - } - } + }, + }, }; if (letter && alphabet.includes(letter.toLowerCase())) { - if (adjectivesCount && adjectivesCount > 0) { return action.alliteration.long(); } else { return action.alliteration.short(); } - } else { - if (adjectivesCount && adjectivesCount > 0) { return action.mix.long(); } else { return action.mix.short(); } - } - }; diff --git a/src/utility/set.js b/src/utility/set.js index 370f4300..0b93b11e 100644 --- a/src/utility/set.js +++ b/src/utility/set.js @@ -1,17 +1,10 @@ import { makePath } from './makePath.js'; -export const set = ({ - object = null, - path = null, - value = null -} = {}) => { - +export const set = ({ object = null, path = null, value = null } = {}) => { const address = makePath(path); const setValue = () => { - while (address.length > 1) { - // shift off and store the first let currentKey = address.shift(); @@ -27,13 +20,11 @@ export const set = ({ // drill down the object with the first key object = object[currentKey]; - } let finalKey = address.shift(); object[finalKey] = value; - }; if (object != null && path != null && value != null) { @@ -41,5 +32,4 @@ export const set = ({ } else { return false; } - }; diff --git a/src/utility/sortArrayOfObject.js b/src/utility/sortArrayOfObject.js index 1bc8abad..4d1fc8c5 100644 --- a/src/utility/sortArrayOfObject.js +++ b/src/utility/sortArrayOfObject.js @@ -1,12 +1,10 @@ import { get } from './get'; export const sortArrayOfObject = (array, key) => { - array.sort((a, b) => { - let textA = get({ object: a, - path: key + path: key, }); if (typeof textA == 'string') { @@ -15,7 +13,7 @@ export const sortArrayOfObject = (array, key) => { let textB = get({ object: b, - path: key + path: key, }); if (typeof textB == 'string') { @@ -29,9 +27,7 @@ export const sortArrayOfObject = (array, key) => { } else { return 0; } - }); return array; - }; diff --git a/src/utility/trimString.js b/src/utility/trimString.js index 40180a24..4a1878de 100644 --- a/src/utility/trimString.js +++ b/src/utility/trimString.js @@ -1,9 +1,7 @@ export const trimString = (value) => { - if (typeof value == 'string') { return value.trim().replace(/\s\s+/g, ' '); } else { return value; } - }; diff --git a/src/utility/uppercaseFirstLetter.js b/src/utility/uppercaseFirstLetter.js index 6cf8c3e7..530c7d20 100644 --- a/src/utility/uppercaseFirstLetter.js +++ b/src/utility/uppercaseFirstLetter.js @@ -1,5 +1,3 @@ export const uppercaseFirstLetter = (string) => { - return string.charAt(0).toUpperCase() + string.slice(1); - }; diff --git a/src/utility/wordNumber.js b/src/utility/wordNumber.js index 5eb3f628..9e3b382d 100644 --- a/src/utility/wordNumber.js +++ b/src/utility/wordNumber.js @@ -1,5 +1,4 @@ export const wordNumber = (number) => { - const ten = 10; const oneHundred = 100; @@ -16,13 +15,43 @@ export const wordNumber = (number) => { const max = 9007199254740992; // 9,007,199,254,740,992 (15) - const lessThanTwenty = ['Zero', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Eleven', 'Twelve', 'Thirteen', 'Fourteen', 'Fifteen', 'Sixteen', 'Seventeen', 'Eighteen', 'Nineteen']; - - const tenthsLessThanHundred = ['Zero', 'Ten', 'Twenty', 'Thirty', 'Forty', 'Fifty', 'Sixty', 'Seventy', 'Eighty', 'Ninety']; - - - const generateWords = function(number) { - + const lessThanTwenty = [ + 'Zero', + 'One', + 'Two', + 'Three', + 'Four', + 'Five', + 'Six', + 'Seven', + 'Eight', + 'Nine', + 'Ten', + 'Eleven', + 'Twelve', + 'Thirteen', + 'Fourteen', + 'Fifteen', + 'Sixteen', + 'Seventeen', + 'Eighteen', + 'Nineteen', + ]; + + const tenthsLessThanHundred = [ + 'Zero', + 'Ten', + 'Twenty', + 'Thirty', + 'Forty', + 'Fifty', + 'Sixty', + 'Seventy', + 'Eighty', + 'Ninety', + ]; + + const generateWords = function (number) { let remainder; let word; @@ -73,7 +102,8 @@ export const wordNumber = (number) => { word = generateWords(Math.floor(number / oneTrillion)) + ' Trillion,'; } else if (number <= max) { remainder = number % oneQuadrillion; - word = generateWords(Math.floor(number / oneQuadrillion)) + ' Quadrillion,'; + word = + generateWords(Math.floor(number / oneQuadrillion)) + ' Quadrillion,'; } words.push(word); diff --git a/tests/readme.md b/tests/readme.md index 4f5b712e..b8bb2451 100644 --- a/tests/readme.md +++ b/tests/readme.md @@ -5,26 +5,31 @@ Testing in NightTab consists primarily of unit tests covering functions that man UI testing can get very tedious and so with nighttab we're manually testing visual aspects. Though we're open to discussing adding some regression testing. All testing must meet the following criteria: - - **Tests Should Be Fast** - - **Tests Should Be Deterministic** - - **Tests Should Be Simple** - - Test Shouldn’t Duplicate Implementation Logic - - Tests Should Be Readable - - Tests should be integrated into the development and CI process - - Tests should never be coupled with implementation details - - Mocks should be avoided, when possible. + +- **Tests Should Be Fast** +- **Tests Should Be Deterministic** +- **Tests Should Be Simple** +- Test Shouldn’t Duplicate Implementation Logic +- Tests Should Be Readable +- Tests should be integrated into the development and CI process +- Tests should never be coupled with implementation details +- Mocks should be avoided, when possible. ## Typescript + We're using typescript for testing for two reasons: + 1. Benefit of types inside tests 2. New Data Layer will be written in typescript for more robustness. Linting for typescript is done via file overrides in the `.eslintrc.js` file, meaning js files are linted using their own configuration and then typescript files are linted with a few extra settings on top of those for js. ## Status of Testing + Nighttab started without any automated testing. As the app grows in popularity with over 100k+ users and multiple contributors working on it, we've decided its time to integrate testing. We're slowly adding testing to make the app more robust and easier to improve and refactor. ## File Structure + Tests file should have the `*.test.ts` extension and be placed under `/test/` where path is a direct mirror of its location in `/src/`. -The file `/test/index.ts` is not a test file and is instead meant to be used to keep utility functions used across tests. \ No newline at end of file +The file `/test/index.ts` is not a test file and is instead meant to be used to keep utility functions used across tests. diff --git a/tests/utility/makePath.test.ts b/tests/utility/makePath.test.ts index 6797c38f..57546a3b 100644 --- a/tests/utility/makePath.test.ts +++ b/tests/utility/makePath.test.ts @@ -4,4 +4,4 @@ test('makePath correctly parses the dot notation', () => { const input = 'theme.accent.rgb.r'; const result = ['theme', 'accent', 'rgb', 'r']; expect(makePath(input)).toStrictEqual(result); -}); \ No newline at end of file +}); diff --git a/tests/utility/set.test.ts b/tests/utility/set.test.ts index 74a68490..bd6f3f49 100644 --- a/tests/utility/set.test.ts +++ b/tests/utility/set.test.ts @@ -7,7 +7,6 @@ beforeEach(() => { object = { theme: { accent: { rgb: { r: 'Hello there!' } } } }; }); - /** * It seems, unlike get, set doesn't mutate objects when it doesn't find keys */ diff --git a/tsconfig.json b/tsconfig.json index 344b74b5..530025fd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,9 +3,7 @@ /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ "target": "es5", /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - "lib": [ - "DOM" - ], + "lib": ["DOM"], /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ "allowJs": true, /* Allow 'import x from y' when a module doesn't have a default export. */ @@ -23,6 +21,6 @@ /* Specify an output folder for all emitted files. */ "outDir": "./dist/", /* Enable error reporting for expressions and declarations with an implied `any` type.. */ - "noImplicitAny": true, + "noImplicitAny": true } -} \ No newline at end of file +} diff --git a/webpack.common.js b/webpack.common.js index b98656d1..4e5e59ca 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -1,64 +1,69 @@ -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CopyPlugin = require('copy-webpack-plugin'); +const path = require("path"); +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const CopyPlugin = require("copy-webpack-plugin"); module.exports = { entry: { - index: path.resolve(__dirname, 'src', 'index.js') + index: path.resolve(__dirname, "src", "index.js"), }, output: { - filename: '[name].[contenthash].js', - path: path.resolve(__dirname, 'dist/web'), - clean: true + filename: "[name].[contenthash].js", + path: path.resolve(__dirname, "dist/web"), + clean: true, }, module: { rules: [ { test: /\.ts?$/, - use: 'ts-loader', + use: "ts-loader", exclude: /node_modules/, }, { test: /\.css$/i, - use: ['style-loader', 'css-loader'] + use: ["style-loader", "css-loader"], }, { test: /\.(ttf|woff|woff2)$/, - type: 'asset/resource', + type: "asset/resource", generator: { - filename: 'font/[name][ext]', - } + filename: "font/[name][ext]", + }, }, { test: /\.(jpe?g|png|gif|svg)$/i, - type: 'asset/resource', + type: "asset/resource", generator: { - filename: 'image/[name][ext]', - } - } - ] + filename: "image/[name][ext]", + }, + }, + ], }, resolve: { - extensions: ['.ts', '.js'], + extensions: [".ts", ".js"], }, plugins: [ new HtmlWebpackPlugin({ - template: './src/index.html' + template: "./src/index.html", }), new CopyPlugin({ - patterns: [{ - from: './src/manifest.json', - to: './manifest.json' - }, { - from: './src/icon/', - to: './icon/' - }, { - from: './src/locale', - to: './_locales' - }, { - from: './src/initialBackground.js', - to: './initialBackground.js' - }] - }) - ] + patterns: [ + { + from: "./src/manifest.json", + to: "./manifest.json", + }, + { + from: "./src/icon/", + to: "./icon/", + }, + { + from: "./src/locale", + to: "./_locales", + }, + { + from: "./src/initialBackground.js", + to: "./initialBackground.js", + }, + ], + }), + ], }; diff --git a/webpack.dev.js b/webpack.dev.js index e92d6394..516e68b6 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -1,7 +1,7 @@ -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); +const { merge } = require("webpack-merge"); +const common = require("./webpack.common.js"); module.exports = merge(common, { - mode: 'development', - devtool: 'inline-source-map' + mode: "development", + devtool: "inline-source-map", }); diff --git a/webpack.prod.js b/webpack.prod.js index ecd46687..7bf5fc23 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -1,21 +1,21 @@ -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); -const path = require('path'); -const ZipPlugin = require('zip-webpack-plugin'); -const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const TerserPlugin = require('terser-webpack-plugin'); +const { merge } = require("webpack-merge"); +const common = require("./webpack.common.js"); +const path = require("path"); +const ZipPlugin = require("zip-webpack-plugin"); +const CssMinimizerPlugin = require("css-minimizer-webpack-plugin"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const TerserPlugin = require("terser-webpack-plugin"); -const version = require('./src/manifest.json').version; -const name = require('./src/locale/en_GB/messages.json').appName.message; +const version = require("./src/manifest.json").version; +const name = require("./src/locale/en_GB/messages.json").appName.message; module.exports = merge(common, { - mode: 'production', + mode: "production", optimization: { minimize: true, minimizer: [ new CssMinimizerPlugin({ - minify: CssMinimizerPlugin.cleanCssMinify + minify: CssMinimizerPlugin.cleanCssMinify, }), new TerserPlugin({ terserOptions: { @@ -24,22 +24,24 @@ module.exports = merge(common, { }, }, extractComments: false, - }) - ] + }), + ], }, module: { - rules: [{ - test: /\.css$/i, - use: [MiniCssExtractPlugin.loader, 'css-loader'], - }], + rules: [ + { + test: /\.css$/i, + use: [MiniCssExtractPlugin.loader, "css-loader"], + }, + ], }, plugins: [ new MiniCssExtractPlugin({ - filename: '[name].[contenthash].css' + filename: "[name].[contenthash].css", }), new ZipPlugin({ - path: path.resolve(__dirname, 'dist/extension'), - filename: name + '_' + version + '.zip' - }) - ] + path: path.resolve(__dirname, "dist/extension"), + filename: name + "_" + version + ".zip", + }), + ], });